답변:
그만한 가치는 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)
click()
기본적으로 약어입니다 bind('click')
(또는 오늘날에는 실제로를 호출합니다 on('click')
. 내가보기에 on('click')
직접 사용하여 추가 함수 호출을 저장하는 것이 좋습니다.
Matthew의 답변에는 +1이 있지만 한 번에 두 개 이상의 이벤트 처리기를 바인딩 할 수도 있음을 언급해야한다고 생각했습니다. bind
$('#myDiv').bind('mouseover focus', function() {
$(this).addClass('focus')
});
다음과 같이 훨씬 깔끔합니다.
var myFunc = function() {
$(this).addClass('focus');
};
$('#myDiv')
.mouseover(myFunc)
.focus(myFunc)
;
두 번째 양식을 사용하여 사용자 지정 이벤트를 바인딩 할 수 있다는 점에서 한 가지 차이점이 있습니다. 그렇지 않으면 동의어로 보입니다. 참조 : jQuery 이벤트 문서