我知道.on()
与jQuery一起存在,考虑到我的jQuery版本大于或等于1.7,将来不应该使用.bind()
。
我想知道的是:使用.bind()
将匿名函数或命名函数附加到事件处理程序之间有什么区别吗?
示例:
// Anonymous function
$(".warning").bind("click", function(){
alert("Hello");
});
// Named function
$(".warning").bind("click", foo);
function foo(){
alert("Hello");
}
想象一下,我的页面中有100个div
,类为warning
。函数.bind()
将为每个具有匿名函数的处理程序附加一个新函数,但它与JavaScript和jQuery内部的命名函数完全相同吗?
谢谢。
不会有任何明显的性能差异。
一个主要区别是,使用命名函数,您还可以选择性地取消绑定函数,而不仅仅是与事件类型相关的所有函数。
当然,这也可以帮助您避免代码重复。