使用 jQuery 连接事件处理程序时,使用 click 方法有什么区别
$().click(fn)
与使用绑定方法
$().bind('click',fn);
除了绑定的可选数据参数。
使用 jQuery 连接事件处理程序时,使用 click 方法有什么区别
$().click(fn)
与使用绑定方法
$().bind('click',fn);
除了绑定的可选数据参数。
对于它的value,来自jQuery 源代码:
jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," +
"change,select,submit,keydown,keypress,keyup,error").split(","), function(i, name){
// Handle event binding
jQuery.fn[name] = function(fn){
return fn ? this.bind(name, fn) : this.trigger(name);
};
});
所以不,没有区别——
$().click(fn)
电话
$().bind('click',fn)
+1 为 Matthew 的回答,但我想我应该提到您还可以使用一次绑定多个事件处理程序 bind
$('#myDiv').bind('mouseover focus', function() {
$(this).addClass('focus')
});
这是更清洁的等效于:
var myFunc = function() {
$(this).addClass('focus');
};
$('#myDiv')
.mouseover(myFunc)
.focus(myFunc)
;
一个区别在于您可以使用您拥有的第二种形式绑定自定义事件。否则,它们似乎是同义词。请参阅:jQuery 事件文档
bind 有一个 [data] 参数,它只会在绑定时发生一次。
您还可以将自定义事件指定为 bind 的第一个参数。
我发现 .click() 更合乎逻辑,但我想这就是你的想法。
$('#my_button').click(function() { alert('BOOM!'); });
看起来就像你得到的一样简单。