UNPKG

@jdcfe/yep-react

Version:

一套移动端的React组件库

40 lines (28 loc) 1.02 kB
export default (function (node) { if (!(node instanceof HTMLElement)) { return document.documentElement; } var excludeStaticParent = node.style.position === 'absolute'; var overflowRegex = /(scroll|auto)/; var parent = node; while (parent) { if (!parent.parentNode) { return node.ownerDocument || document.documentElement; } var style = window.getComputedStyle(parent); var position = style.position; var overflow = style.overflow; // @ts-ignore var overflowX = style['overflow-x']; // @ts-ignore var overflowY = style['overflow-y']; if (position === 'static' && excludeStaticParent) { // @ts-ignore parent = parent.parentNode; continue; } // @ts-ignore if (overflowRegex.test(overflow) && overflowRegex.test(overflowX) && overflowRegex.test(overflowY)) { return parent; } // @ts-ignore parent = parent.parentNode; } // @ts-ignore return node.ownerDocument || node.documentElement || document.documentElement; });