我正在创建一个事件,因此使用 DOM Event 构造函数:
new Event('change');
这在现代浏览器中工作正常,但是在 Internet Explorer 9、10 和 11 中,它会失败并显示:
Object doesn't support this action
如何修复 Internet Explorer(最好通过 polyfill)?如果我不能,是否有可以使用的解决方法?
有一个MDN 上 CustomEvent 构造函数的 IE 填充 https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent。将 CustomEvent 添加到 IE 并使用它可以正常工作。
(function () {
if ( typeof window.CustomEvent === "function" ) return false; //If not IE
function CustomEvent ( event, params ) {
params = params || { bubbles: false, cancelable: false, detail: undefined };
var evt = document.createEvent( 'CustomEvent' );
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
return evt;
}
CustomEvent.prototype = window.Event.prototype;
window.CustomEvent = CustomEvent;
})();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)