jQuery: $().click(fn) vs. $().bind('click',fn);
2022-08-30 05:20:54
当使用 jQuery 挂接事件处理程序时,使用 click 方法之间有什么区别吗?
$().click(fn)
与使用绑定方法的比较
$().bind('click',fn);
除了绑定的可选数据参数。
当使用 jQuery 挂接事件处理程序时,使用 click 方法之间有什么区别吗?
$().click(fn)
与使用绑定方法的比较
$().bind('click',fn);
除了绑定的可选数据参数。
对于它的价值,来自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)
;