Під час використання jQuery для пошуку обробника подій, чи є різниця між використанням методу клацання
$().click(fn)
порівняно з використанням методу зв'язування
$().bind('click',fn);
Інший, ніж необов'язковий параметр даних bind.
Під час використання jQuery для пошуку обробника подій, чи є різниця між використанням методу клацання
$().click(fn)
порівняно з використанням методу зв'язування
$().bind('click',fn);
Інший, ніж необов'язковий параметр даних bind.
Відповіді:
Для чого це варто з джерела 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')
безпосередньо.
+1 за відповідь Метью, але я подумав, що слід зазначити, що ви також можете зв’язати більше одного обробника подій за один раз за допомогою bind
$('#myDiv').bind('mouseover focus', function() {
$(this).addClass('focus')
});
що набагато чистіше еквівалентно:
var myFunc = function() {
$(this).addClass('focus');
};
$('#myDiv')
.mouseover(myFunc)
.focus(myFunc)
;
Є одна відмінність у тому, що ви можете пов’язати власні події, використовуючи другу форму, яку ви маєте. Інакше вони здаються синонімами. Див.: Документи подій jQuery