Javascript CustomEvent()构造函数在IE中不支持

Javascript CustomEvent()构造函数在IE中不支持,javascript,html,Javascript,Html,IE中不支持CustomEvent()构造函数。是否可以使其至少与IE11兼容?它与其他浏览器(如Chrome和Firefox)协同工作 例:- 这应该适用于IE9+ var specialvent=document.createEvent(“CustomEvent”); SpecialEvent.initCustomEvent('SpecialMessage',false,false{ 详情:{ 留言:“你好”, 时间:新日期() }, 泡泡:是的, 可取消:正确 });通过切换到jQuer

IE中不支持
CustomEvent()
构造函数。是否可以使其至少与IE11兼容?它与其他浏览器(如Chrome和Firefox)协同工作

例:-


这应该适用于IE9+

var specialvent=document.createEvent(“CustomEvent”);
SpecialEvent.initCustomEvent('SpecialMessage',false,false{
详情:{
留言:“你好”,
时间:新日期()
},
泡泡:是的,
可取消:正确

});通过切换到jQuery事件,而不是使用一些特殊的原型酱来让IE工作,从而节省时间和精力,并为自己将来的困难节省时间。jQuery事件具有更好的实现,并且与IE兼容

[除非您跨帧触发事件,否则您需要原型化并使用传统的
窗口。dispatchEvent(evt)
]

老办法:

var SpecialEvent = new CustomEvent(
  "SpecialMessage",
  {
   detail:
   {
     message: "Hello There",
     time: new Date()
   },
   bubbles: true,
   cancelable: true
  });
新方式:

$(window).trigger("SpecialMessage", ["Hello There", new Date()]);
为了抓住这一事件:

$(window).on("SpecialMessage",function(e, arg1, arg2){
    console.log(arg1);   // Hello There
    console.log(arg2);   // 2018-04-18...
});

MDN为IE>=9提供了一个多边形填充。见下文。


读一读这本书怎么样?为什么使用[Java]标记?删除多余的标记欢迎使用指向解决方案的链接,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用您链接到的页面的最相关部分,以防目标页面不可用。
$(window).on("SpecialMessage",function(e, arg1, arg2){
    console.log(arg1);   // Hello There
    console.log(arg2);   // 2018-04-18...
});
(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;
})();