在IE11中使用绑定功能的JavaScript使Object不支持此操作

时间:2017-08-15 16:40:52

标签: javascript internet-explorer ecmascript-6 babel-polyfill

我有一个JavaScript代码,它使用事件在不同组件之间进行通信。我使用ES6语法和 webpack 。我也使用babel-polyfill作为愚蠢的Microsoft IE 11!

我有这样一行(我的timeline_变量是vis.js Timeline的一个实例:

this.timeline_.on('rangechange', this._handleTimelineMove.bind(this));

在Chrome(和Edge)中,一切正常,但在IE中,bind功能似乎不起作用。如果我在这一行放置一个断点并使用Watch窗口运行它:

this._handleTimelineMove.bind(this)

它给了我这个:

Object doesn't support this action

在Chrome中,它给了我这个:

enter image description here

这是事件发生时需要回调的实际函数。

当我在IE和Chrome中执行typeof时,两者都回馈"function",但我不理解IE的行为!

我也尝试过包含es5-shimes6-shim个套餐,但无济于事。

提前谢谢

修改

事实证明问题出在代码中的其他地方。我在我的代码中创建了一个MouseEvent,IE不支持(为什么要支持?!),这就是问题的根源,而不是bind方法。我只是通过纯粹的运气找到了这个问题!

0 个答案:

没有答案