自定义事件引起IE 全系列报错

  最近被指派解决项目在IE 系列下不能显示的问题;在接到这个问题的时候,一开始觉得可能是用到什么很新的语法标准什么的。但在IE 的控制台并不能定位到实际的报错位置「只显示SCRIPT445: Object does not support this action」,本来还以为是关键词赋值报错的;但后来发现是用到了CustomEvent

  在MDN 上看了下CustomEvent,IE 系列果然是全军覆没了!幸好,MDN 页上也提供了相应的 Polyfill。

(function () {

  if ( typeof window.CustomEvent === "function" ) return false;

  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;
})();
您的浏览器已过时

要正常浏览本网站请升级您的浏览器。现在升级

×