ugrás a tartalomhoz

jQuery: .click() vs .bind('click')

Cooty13 · 2012. Nov. 15. (Cs), 14.49
Sziasztok!

Elég sokat használok jQuery-t és felmerült bennem egy elméleti jellegű kérdés.
Esemény hozzáadásnál van-e valami teljesítménybeli különbség az
$('#az-en-elemem').click(function(e){//csinálj valamit});
és a
$('#az-en-elemem').bind('click',
function(e){//csinálj valamit});
között?

A dokumentáció szerint a .click() (egyetemben a többi standard böngésző eseménnyel) egy aliasként szolgál a .bind('click');-hez.

Melyik módszer jobb, ti melyiket használjátok (pontosabban mikor melyiket)?
 
1

Ha olyan gyakran kell

tgr · 2012. Nov. 15. (Cs), 15.44
Ha olyan gyakran kell eseménykezelőt kötnöd, hogy számít a kettő közötti sebességkülönbség, valamit borzalmasan rosszul csinálsz. (Egyébként szerintem friss jQueryben mindkettő az on('click') aliasa, de nem fogadnék rá nagy összegben.)
2

bind

Poetro · 2012. Nov. 15. (Cs), 16.15
Egyébként szerintem friss jQueryben mindkettő az on('click') aliasa

bind
bind: function( types, data, fn ) {
  return this.on( types, null, data, fn );
}
aliasok
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
	"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {

	// Handle event binding
	jQuery.fn[ name ] = function( data, fn ) {
		if ( fn == null ) {
			fn = data;
			data = null;
		}

		return arguments.length > 0 ?
			this.on( name, null, data, fn ) :
			this.trigger( name );
	};

	if ( rkeyEvent.test( name ) ) {
		jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
	}

	if ( rmouseEvent.test( name ) ) {
		jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
	}
});
3

Ha felmerült benned, ilyen

Poetro · 2012. Nov. 15. (Cs), 16.20
Ha felmerült benned, ilyen elméleti kérdés, miért nem nézted meg a jQuery forrásában, hogy hogyan működnek? Mindekettő egy alias, a click minimálisan lassabb, mivel egy kis ellenőrzést kell végeznie. A legjobb, ha on függvényt használsz. Rövid, beszédes, részletesen konfigurálható, valamint támogat delegate jellegű eseménykezelést.