NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/dom-closest/index.js

24 lines
478 B
JavaScript
Raw Normal View History

2023-09-14 14:47:11 +08:00
/**
* Module dependencies
*/
var matches = require('dom-matches');
/**
* @param element {Element}
* @param selector {String}
* @param context {Element}
* @return {Element}
*/
module.exports = 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;
}
}
};