是jquery on()总是比bind()更好

时间:2013-10-07 13:24:29

标签: javascript jquery

我已阅读live()delegate()on()的帖子,并了解其中的位置。

我也理解click()只是on()的快捷方式,以及这两种语句是如何相同的。

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

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

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

1 个答案:

答案 0 :(得分:7)

来自jQuery source code

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

如您所见,bind只是致电on。没有理由使用bind。从不。