代码之家  ›  专栏  ›  技术社区  ›  faressoft

$(“.anything”).click()和$(“.anything”).bind(click)之间的区别是什么

  •  3
  • faressoft  · 技术社区  · 14 年前

    $(".anything").click(function() {
    
    });
    
    $(".anything").bind('click', function() {
    
    });
    
    4 回复  |  直到 14 年前
        1
  •  6
  •   BalusC    14 年前

    第一条是第二条的捷径。第二个事实上是错误的, click 应该被引用。此外,在第二个事件中,您还可以将同一个函数绑定到多个事件,每个事件由一个空格分隔。例如。

    $(".anything").bind("click keypress blur", function() {
    
    });
    
        2
  •  8
  •   Cᴏʀʏ bcherry    14 年前

    没有什么, click(function() { }) 只是一条捷径 bind("click", function() { }) .

    从jQuery文档:

    jQuery库提供了绑定标准事件类型的快捷方式,例如.bind('click')的.click()方法。

    bind() here .

        3
  •  4
  •   hobbs    14 年前

    在那种情况下,绝对没有。

    然而:

    A) 如果你给 .click()

    B) 只有 .bind() 允许您使用“命名空间”方式注册处理程序:

    $(whatever).bind('click.myEvent', function (e) { ... });
    $(whatever).unbind('click.myEvent'); // Removes just that handler
    
        4
  •  2
  •   Community CDub    8 年前

    请看这篇文章,它指向JQuery源来显示这一点。click(fn)just calls.bind('click',fn): jQuery: $().click(fn) vs. $().bind('click',fn);

    我通常只在以下情况下使用后者:

    • 我想绑定多个对象,即绑定(“单击焦点”,fn)
    • 只是为了保持约定,如果我稍后调用unbind,即:
    var fn = function() { alert('foo'); }
    $('#foo').bind('click', fn);
    
    ...
    
    $('#foo').unbind('click', fn);