javascript - jquery on() 总是比 bind() 更好吗

标签 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() 的快捷方式版本哪个在点击时绑定(bind)?

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

最佳答案

来自jQuery source code :

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

如您所见,bind 只是调用 on。没有理由使用bind。从来没有。

关于javascript - jquery on() 总是比 bind() 更好吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19226103/

相关文章:

javascript - 如何通过python检索javascript var的值?

javascript - 使用 javascript 将 HTML 输入标签转换为 Dojo TextBox

javascript - percircle 不会动态更新百分比值

javascript - jQuery 在悬停时滚动到 div 并返回到第一个元素

javascript - 使用 .numeric 限制小数点前的整数数量

jquery - 移动选择菜单停留在当前 URL 选择选项上

javascript - 我是否需要包含这一行 : <! -- 全局站点代码 (gtag.js) - Google Analytics -->

javascript - 打印输出取决于窗口大小

javascript - JQuery 逐一加载一组链接的功能?

jquery - 仅当内容溢出时才展开 DIV?