Ala*_*orm 114 javascript jquery event-handling
当使用jQuery连接事件处理程序时,使用click方法之间是否有任何区别
$().click(fn)
Run Code Online (Sandbox Code Playgroud)
与使用绑定方法
$().bind('click',fn);
Run Code Online (Sandbox Code Playgroud)
除了bind的可选数据参数.
Mat*_*las 137
从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);
};
});
Run Code Online (Sandbox Code Playgroud)
所以不,没有区别 -
$().click(fn)
Run Code Online (Sandbox Code Playgroud)
电话
$().bind('click',fn)
Run Code Online (Sandbox Code Playgroud)
nic*_*ckf 97
为Matthew的回答+1,但我想我应该提一下,你也可以一次性绑定多个事件处理程序 bind
$('#myDiv').bind('mouseover focus', function() {
$(this).addClass('focus')
});
Run Code Online (Sandbox Code Playgroud)
这是更清洁相当于:
var myFunc = function() {
$(this).addClass('focus');
};
$('#myDiv')
.mouseover(myFunc)
.focus(myFunc)
;
Run Code Online (Sandbox Code Playgroud)