11

我知道.on()jQuery 存在并且.bind()将来不应该使用,考虑到我的 jQuery 版本大于或等于 1.7。

我想知道的是:将匿名函数或命名函数附加到事件处理程序之间有什么区别.bind()吗?

例子:

// Anonymous function
$(".warning").bind("click", function(){
   alert("Hello");
});

// Named function
$(".warning").bind("click", foo);

function foo(){
   alert("Hello");
}

想象一下,我div的页面中有 100 个班级warning。该函数.bind()将使用匿名函数将一个新函数附加到每个处理程序,但它与 JavaScript 和 jQuery 内部的命名函数完全相同吗?

谢谢你。

4

1 回答 1

10

不会有任何明显的性能差异。

一个主要区别是,使用命名函数,您还可以选择性地取消绑定函数,而不仅仅是与事件类型关联的所有函数。

当然,这也可以帮助您避免代码重复。

于 2012-08-21T14:08:35.170 回答