Saat menggunakan jQuery untuk menghubungkan event handler, apakah ada perbedaan antara menggunakan metode klik
$().click(fn)
versus menggunakan metode mengikat
$().bind('click',fn);
Selain parameter data opsional bind.
Saat menggunakan jQuery untuk menghubungkan event handler, apakah ada perbedaan antara menggunakan metode klik
$().click(fn)
versus menggunakan metode mengikat
$().bind('click',fn);
Selain parameter data opsional bind.
Jawaban:
Untuk apa nilainya, dari sumber 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);
};
});
Jadi tidak, tidak ada perbedaan -
$().click(fn)
panggilan
$().bind('click',fn)
click()
pada dasarnya adalah singkatan untuk bind('click')
(atau, di zaman sekarang ini, panggilan sebenarnya on('click')
. Menurut saya, Anda mungkin juga menyimpan panggilan fungsi tambahan itu dengan menggunakan on('click')
secara langsung.
+1 untuk jawaban Matthew, tetapi saya pikir saya harus menyebutkan bahwa Anda juga dapat mengikat lebih dari satu pengendali acara sekaligus menggunakan bind
$('#myDiv').bind('mouseover focus', function() {
$(this).addClass('focus')
});
yang jauh lebih bersih setara dengan:
var myFunc = function() {
$(this).addClass('focus');
};
$('#myDiv')
.mouseover(myFunc)
.focus(myFunc)
;
Ada satu perbedaan di mana Anda dapat mengikat acara khusus menggunakan formulir kedua yang Anda miliki. Jika tidak, mereka tampaknya sinonim. Lihat: jQuery Event Docs