Bir olay işleyicisini bağlamak için jQuery kullanırken, tıklama yöntemini kullanmak arasında herhangi bir fark var mı
$().click(fn)
bağlama yöntemini kullanmaya kıyasla
$().bind('click',fn);
Bind'in isteğe bağlı veri parametresi dışında.
Bir olay işleyicisini bağlamak için jQuery kullanırken, tıklama yöntemini kullanmak arasında herhangi bir fark var mı
$().click(fn)
bağlama yöntemini kullanmaya kıyasla
$().bind('click',fn);
Bind'in isteğe bağlı veri parametresi dışında.
Yanıtlar:
JQuery kaynağından değeri ne olursa olsun :
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);
};
});
Yani hayır, hiçbir fark yok -
$().click(fn)
aramalar
$().bind('click',fn)
click()
temelde kısaltmadır bind('click')
(ya da bu gün bir çağ, aslında çağırır on('click')
. Benim gördüğüm şekilde, on('click')
doğrudan kullanarak o ekstra işlev çağrısını kurtarabilirsin .
Matthew'un cevabı için +1, ancak tek seferde kullanarak birden fazla olay işleyicisini de bağlayabileceğinizi söylemem gerektiğini düşündüm. bind
$('#myDiv').bind('mouseover focus', function() {
$(this).addClass('focus')
});
aşağıdakilere eşdeğer çok daha temiz olanıdır:
var myFunc = function() {
$(this).addClass('focus');
};
$('#myDiv')
.mouseover(myFunc)
.focus(myFunc)
;
Sahip olduğunuz ikinci formu kullanarak özel olayları bağlayabilmeniz arasında bir fark vardır. Aksi takdirde, eşanlamlı görünüyorlar. Bkz: jQuery Olay Belgeleri