domtokenlist
Version:
Enables support for the DOMTokenList interface in IE8-9, and fixes buggy implementations in newer browsers.
2 lines (1 loc) • 833 B
JavaScript
!function(){"use strict";var t,e,a,n,r="http://www.w3.org/",s=r+"2000/svg",i=r+"1999/xhtml",c="__CORKED",l="createElement",o=l+"NS",u="div",d="class",m=d+"List",f="setAttribute",p=window,g=document,v=p.SVGElement;!v||m in g[o](s,"g")||(a=g[l](u),null!==a.namespaceURI||a.classList||(n=g[l],g[l]=function(t){return u===(t||"").toLowerCase()?g[o](i,t):n.apply(g,arguments)}),Object.defineProperty(v.prototype,m,{get:function(){var a=this;t||(t=g[o](i,u),e=t.children,t.addEventListener("DOMAttrModified",function(t){var e=t.target,a=e.__R;d===t.attrName&&a&&(a[c]=!0,a[f](d,e.className),delete a[c])}));for(var n,r=0,s=e.length;s>r&&(n=e[r],n.__R!==a);++r)n=0;if(!n){n=g[o](i,u),n.className=a.getAttribute(d),t.appendChild(n),n.__R=a;var l=a[f];a[f]=function(t,e){d!==t||a[c]||(n.className=e),l.call(a,t,e)}}return n.classList}}))}();