Javascript CustomEvent()构造函数在IE中不支持
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
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;
})();