Javascript jQuery中的.bind(';click';)和.click()之间有什么区别?
jQuery中下面两条语句的区别是什么: 1)使用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(){ //
.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源代码的良好参考。