javascript - 下划线绑定(bind)在 IE8 中不起作用

标签 javascript jquery internet-explorer-8 underscore.js

我正在使用 underscore.js 中的 _.bind,但是它在 IE8/9 中不工作。

我知道 MDN 有解决方法(MDN Polyfill - 但不确定这是否可以应用于下划线库,或者下划线本身是否有修复

我想要实现的一个例子是:

window.onload = _.bind(function() { 

     this.product.quantityListing();
}, this);

编辑:我在其他地方使用 _.bind 的一个实例,它在 IE8 中工作——但是当我想检查窗口是否已在 IE 中加载时,它只是不工作。

最佳答案

_.bind 和来自 MDN 的 Function#bind shim 本质上做同样的事情。如果使用MDN方法,则不需要使用Underscore.js方法。

您将像这样使用 MDN 方法:

window.onload = (function() {
    this.product.quantityListing();
}).bind(this);

另一方面,如果您在页面中包含 Underscore 之前使用 MDN shim,Underscore 将在必要时使用填充版本。

因此,如果您在 Underscore 之前包含垫片,则可以使用任何您喜欢的。就我个人而言,我会坚持使用 Function#bind,因为它在 native 支持它的浏览器中具有(非常轻微)更好的性能。

关于javascript - 下划线绑定(bind)在 IE8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24119418/

相关文章:

javascript - 返回 Ajax 请求之外的字符串

javascript - 在 jQuery Todo List App 中编辑和删除动态生成的列表项

javascript - 在显示或隐藏时对齐列表

jquery - 为什么 jquery .height() 在 chrome 上得到不同的结果?

javascript - IE 7 和 8 中的 contenteditable 更改事件

internet-explorer-8 - 本地引用时 IE 中的 32 位深度 jpg 图像问题

Javascript/AngularJS 数组

javascript - 我如何重新排序 bootstrap 3 div?

javascript - 维护正确的 CSS\Javascript 和使用模板引擎——矛盾吗?

css - IE8 中带有 'text-align: right' 的 contenteditable div 不显示插入符号