-3

关于函数

$("selector").on("click", function(event){
//code to be executed
});

绑定函数

$("selector").bind("click", function(event){
//code to be executed
});

特别是什么时候使用 on 函数和 bind 函数?

4

2 回答 2

1

从文档:

从 jQuery 1.7 开始,.on() 方法是将事件处理程序附加到文档的首选方法。对于早期版本,.bind() 方法用于将事件处理程序直接附加到元素。处理程序附加到 jQuery 对象中当前选定的元素,因此这些元素必须存在于调用 .bind() 的位置。有关更灵活的事件绑定,请参阅 .on() 或 .delegate() 中有关事件委托的讨论。

bind 仅在元素存在时才有效,on 会将其绑定到与选择器匹配的所有元素。 文档。

$(document).on("click","selector", function(event){
//code applies to all elements matching the selector.
});
于 2013-08-06T10:31:27.440 回答
0

两者都将事件处理程序附加到文档......bind将事件处理程序直接附加到元素(不委托)......因此绑定不适用于动态添加的元素on......它使用事件委托。

on使用您获得的代码..和这里没有区别..两者bind都做同样的事情(将点击处理程序附加到所选元素)

至于 When to use on function and bind function especially?

简单的答案是,

如果您使用的是 jquery 1.7+ 。使用on(),如果您的元素是动态添加的,请使用.on().

于 2013-08-06T10:36:14.793 回答