0

我已经阅读了live()vs delegate()vs的帖子on(),并且理解了这个位置。

我也明白这click()只是一个快捷方式on(),以及这两个语句是如何相同的。

$( "#clickTarget" ).click(function() {alert( "Handler for .click() called." );});
$( "#onTarget" ).on('click',function() {alert( "Handler for .on() called." );});

我的问题是使用bind()over是否有任何优势on()?请注意,文档声明“从 jQuery 1.7 开始,.on() 方法是将事件处理程序附加到文档的首选方法。” 例如,如果我的元素在编写 DOM 时就存在,这似乎是有道理的。如果是这样,是否有bind()点击时绑定的快捷版本?

$( "#bindTarget" ).bind( "click", function() {alert( "Handler for .bind() called" );});
4

1 回答 1

7

来自jQuery 源代码

bind: function( types, data, fn ) {
    return this.on( types, null, data, fn );
},

如您所见,bind只需调用on. 没有理由使用bind. 绝不。

于 2013-10-07T13:25:35.497 回答