$(“。anything”)之间有什么区别。单击()和$(“。anything”)。bind(click)

时间:2010-10-19 02:56:49

标签: javascript jquery

$(“。anything”)之间有什么区别.Click()和$(“。anything”)。bind(click)

$(".anything").click(function() {

});

$(".anything").bind('click', function() {

});

4 个答案:

答案 0 :(得分:8)

没有,click(function() { })只是bind("click", function() { })的快捷方式。

来自jQuery文档:

  

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

您可以详细了解bind() here

答案 1 :(得分:6)

第一个是第二个的快捷方式。第二个实际上是错误的,click应该被引用。此外,在第二个中,您还可以将相同的函数绑定到多个事件,每个事件用空格分隔。 E.g。

$(".anything").bind("click keypress blur", function() {

});

答案 2 :(得分:4)

在那个具体案例中,绝对没有。

然而:

A)如果你给.click()没有参数,它会触发事件而不是设置处理程序。

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

$(whatever).bind('click.myEvent', function (e) { ... });
$(whatever).unbind('click.myEvent'); // Removes just that handler

答案 3 :(得分:2)

参见这篇文章,它指向JQuery源代码,以显示.click(fn)只调用.bind('click',fn):jQuery: $().click(fn) vs. $().bind('click',fn);

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

  • 我想绑定多个东西,即.bind('click focus',fn)
  • 如果我稍后打电话给unbind,就是维持惯例,即:
var fn = function() { alert('foo'); }
$('#foo').bind('click', fn);

...

$('#foo').unbind('click', fn);