我收到以下错误IE9:
“对象不支持此操作”。
有关于这个问题的不同,但我是专门为下面的代码:
var myEvent = new CustomEvent("additem");
从我的理解,自定义事件在IE9支持的DOM操作命令。 这在Chrome中工作正常,没有任何异常。
任何人有这个问题,并知道如何解决呢? 谢谢。
我收到以下错误IE9:
“对象不支持此操作”。
有关于这个问题的不同,但我是专门为下面的代码:
var myEvent = new CustomEvent("additem");
从我的理解,自定义事件在IE9支持的DOM操作命令。 这在Chrome中工作正常,没有任何异常。
任何人有这个问题,并知道如何解决呢? 谢谢。
据我所知自定义事件中不支持IE,只有在正常的浏览器。 我建议使用,提供了一个JavaScript库独立于浏览器的实现像jQuery的触发: http://api.jquery.com/trigger/
您可以使用JavaScript函数来检测,如果浏览器IE11或降低再申请下一填充工具:
(function () {
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;
})();
从上面的填充工具从MDN采取: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
试试这个填充工具不置换天然(和功能)CustomEvent的方法。
(function () {
try {
new CustomEvent('test');
return;
} catch(e) {
// ignore this error and continue below
}
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;
})();
下面填充工具不会replacce本地自定义事件()
从局部源: MDN自定义事件() :
(function () {
if (typeof CustomEvent === 'function') { return; }
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;
})();