两个函数之间的结果差异是什么?

时间:2012-02-03 19:42:21

标签: jquery

$(document).ready(function() {
  $('#switcher-default').bind('click', function() {
    $('body').removeClass('narrow');
    $('body').removeClass('large');
  });
});

第二个功能:

$(document).ready(function() {
  $('#switcher-default').click(function() {
    $('body').removeClass('narrow');
    $('body').removeClass('large');
  });    
});

我是 jQuery 的新手,上面的代码有什么区别?我觉得添加或删除绑定function,结果是一样的。为什么代码添加绑定事件?

4 个答案:

答案 0 :(得分:7)

正如您在jQuery关于.click()的文档中所看到的那样:

This method is a shortcut for .bind('click', handler)

答案 1 :(得分:3)

没有区别。这两段代码都将函数附加到click事件。如果你不知道你将绑定什么类型的事件,那么绑定非常有用。

例如:http://jsfiddle.net/3wCMJ/

阅读Jquery API文档:http://api.jquery.com/click/

关于click()函数:

  

此方法是.bind('click',handler)

的快捷方式

答案 2 :(得分:2)

他们都会做同样的事情将click处理程序附加到#switcher-default元素。 bind只是将任何事件附加到匹配的元素集的其他方式。

使用bind,您可以在元素上附加具有公共事件处理程序的多个事件。 eventType应该用空格分隔。

$('#foo').bind('mouseenter mouseleave', function() {
     //Do something
});

答案 3 :(得分:2)

您可以阅读click() documentation

找到答案
  

此方法是前两个.bind('click',handler)的快捷方式   变体和.trigger('click')在第三个。

此外,bind() documentation建议在版本1.7及更高版本中使用on()代替bind()

  

从jQuery 1.7开始,.on()方法是首选方法   将事件处理程序附加到文档。对于早期版本,   .bind()方法用于直接将事件处理程序附加到   元件。