UNPKG

@orca-fe/pocket

Version:

UI components by orca-team

42 lines (41 loc) 965 B
/** * check is `dom` inside parent with `classNames` * @param dom * @param classNames * @param parent */ export default function isIn(dom, classNames, parent = document.body) { var cName = classNames; if (typeof classNames === 'string') { cName = [classNames]; } if (dom) { for (var i = 0; i < cName.length; i += 1) { var className = cName[i]; if (dom.classList.contains(className)) { return true; } } if (dom === parent) { return false; } if (dom.parentElement) return isIn(dom.parentElement, classNames, parent); } return false; } /** * check is `dom` inside something * @param dom * @param callback * @param parent */ export function isInBy(dom, callback, parent = document.body) { if (dom) { if (dom === parent) { return false; } if (callback(dom)) return true; if (dom.parentElement) return isInBy(dom.parentElement, callback, parent); } return false; }