first commit
This commit is contained in:
42
wp-content/themes/twentytwentyone/assets/js/polyfills.js
Normal file
42
wp-content/themes/twentytwentyone/assets/js/polyfills.js
Normal file
@@ -0,0 +1,42 @@
|
||||
/**
|
||||
* File polyfills.js.
|
||||
*
|
||||
* Polyfills for IE11.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Polyfill for Element.closest() because we need to support IE11.
|
||||
*
|
||||
* @see https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
|
||||
*/
|
||||
if ( ! Element.prototype.matches ) {
|
||||
Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
|
||||
}
|
||||
|
||||
if ( ! Element.prototype.closest ) {
|
||||
Element.prototype.closest = function( s ) {
|
||||
var el = this;
|
||||
do {
|
||||
if ( Element.prototype.matches.call( el, s ) ) {
|
||||
return el;
|
||||
}
|
||||
el = el.parentElement || el.parentNode;
|
||||
} while ( el !== null && el.nodeType === 1 );
|
||||
return null;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Polyfill for NodeList.foreach() because we need to support IE11.
|
||||
*
|
||||
* @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach
|
||||
*/
|
||||
if ( window.NodeList && ! NodeList.prototype.forEach ) {
|
||||
NodeList.prototype.forEach = function( callback, thisArg ) {
|
||||
var i;
|
||||
thisArg = thisArg || window;
|
||||
for ( i = 0; i < this.length; i++ ) {
|
||||
callback.call( thisArg, this[i], i, this );
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user