ant-design-vue/components/_util/dom-closest.js
John f61018afd7
Support vite2 (#3490)
* refactor: supports vite2

* refactor: remove CommonJS dependencies

* chore: update pkg

* refactor: update

* chore: update pkg
2021-01-07 12:53:49 +08:00

25 lines
524 B
JavaScript

/**
* source by `dom-closest`
* https://github.com/necolas/dom-closest.git
*/
import matches from './dom-matches';
/**
* @param element {Element}
* @param selector {String}
* @param context {Element=}
* @return {Element}
*/
export default function(element, selector, context) {
context = context || document;
// guard against orphans
element = { parentNode: element };
while ((element = element.parentNode) && element !== context) {
if (matches(element, selector)) {
return element;
}
}
}