事件处理程序在IE11或Chrome中运行,但不能同时在两者中运行

时间:2017-01-06 19:16:50

标签: javascript google-chrome ecmascript-6 internet-explorer-11

在代码库中,我帮助维护这种形式的功能(为简洁起见):

Illegal Invocation

IE11抛出function setListeners(enable) { const fn = enable ? document.body.addEventListener : document.body.removeEventListener; fn.call(document.body, 'click', foo); fn.call(document.body, 'MyCustomEvent', bar); } ,而其他浏览器工作正常。另一个维护者将函数切换为这种形式:

{{1}}

现在它适用于IE11,但不适用于Chrome。我们已经为CustomEvent提供了一个polyfill(它具有隐含的用途,如图所示),但还有什么阻止此功能保持跨浏览器?

1 个答案:

答案 0 :(得分:0)

您的第二个代码段应该没问题。这是一个工作示例(在Chrome中为我成功测试):



CustomEvent




也许你的let a = Array(stride(from: 0.0, through: 4.0, by: 0.5)) polyfill正在阻碍,或者还有其他因素在起作用?