Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery中的.bind(';click';)和.click()之间有什么区别?_Javascript_Jquery_Event Handling - Fatal编程技术网

Javascript jQuery中的.bind(';click';)和.click()之间有什么区别?

Javascript jQuery中的.bind(';click';)和.click()之间有什么区别?,javascript,jquery,event-handling,Javascript,Jquery,Event Handling,jQuery中下面两条语句的区别是什么: 1)使用.bind $("#username").bind('click',function(){ //@todo }); $("#username").click(function(){ //@todo }); 2)没有.bind() $("#username").bind('click',function(){ //@todo }); $("#username").click(function(){ //

jQuery中下面两条语句的区别是什么:

1)使用
.bind

$("#username").bind('click',function(){
    //@todo
});
$("#username").click(function(){
    //@todo
});    
2)没有
.bind()

$("#username").bind('click',function(){
    //@todo
});
$("#username").click(function(){
    //@todo
});    

所以,当我需要使用其中一个时?

在这种形式中没有区别。
click
方法只是
bind('click',…)
的快捷方式。使用哪个纯粹是偏好/风格的问题

没有区别,
。单击
的快捷方式。绑定('click',


.click()
无参数调用是
.trigger('click'

的快捷方式。它们之间确实没有区别

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


没有区别。如果您为您阅读文档,您会注意到以下行:

此方法是.bind('click',handler)的快捷方式

您可以通过快速查看以下内容来确认这一点:

我倾向于使用
。在
上单击
。绑定
,这仅仅是因为它的编写速度更快。但是,
。绑定
可用于将同一侦听器附加到多个事件,因此在这种情况下非常有用:

$("#something").bind("click mouseover", function() {
    //Do stuff
});
要扩展@Tomalak的注释,
.bind
在处理自定义事件时也很有用。对于几乎所有其他事件,都有一个类似于
。单击
。jQuery源代码如下:

jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
    "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
    "change select submit keydown keypress keyup error").split(" "), function( i, name ) {
    /*Call .bind for the respective event. There is a shortcut method 
    for each of the events listed above*/
});

使用.click()在IOS 4x的iPhone中使用Safari浏览器触摸锚时,不会触发该函数。使用bind('click')时会触发该函数

区别是6个字符…重复:@patrick dw:我以前不知道。抱歉。现在我明白了。@FelixKling这是一个前10个聪明的评论,先生。做得好!真的吗?很高兴得到您的确认。您还可以使用
bind()编写绑定到自定义事件(或动态选择的事件)的代码
+1,以获得详细的解释,以及对jQuery文档和jQuery源代码的良好参考。