first commit
This commit is contained in:
33
wp-includes/js/dist/vendor/wp-polyfill-element-closest.js
vendored
Normal file
33
wp-includes/js/dist/vendor/wp-polyfill-element-closest.js
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
// element-closest | CC0-1.0 | github.com/jonathantneal/closest
|
||||
|
||||
(function (ElementProto) {
|
||||
if (typeof ElementProto.matches !== 'function') {
|
||||
ElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {
|
||||
var element = this;
|
||||
var elements = (element.document || element.ownerDocument).querySelectorAll(selector);
|
||||
var index = 0;
|
||||
|
||||
while (elements[index] && elements[index] !== element) {
|
||||
++index;
|
||||
}
|
||||
|
||||
return Boolean(elements[index]);
|
||||
};
|
||||
}
|
||||
|
||||
if (typeof ElementProto.closest !== 'function') {
|
||||
ElementProto.closest = function closest(selector) {
|
||||
var element = this;
|
||||
|
||||
while (element && element.nodeType === 1) {
|
||||
if (element.matches(selector)) {
|
||||
return element;
|
||||
}
|
||||
|
||||
element = element.parentNode;
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
}
|
||||
})(window.Element.prototype);
|
||||
Reference in New Issue
Block a user