2013-05-03 13 views
5

Grazie a jQuery, il metodo .on associa un trigger a un elemento. Ho un HTML come:jquery: cosa succede dopo aver vincolato un evento più di una volta?

<div class='xyz'>click me</div> 

e script come:

$('.xyz').on('click', function(){ alert('why?'); }); 
$('.xyz').on('click', function(){ alert('why?'); }); 

clic sul click me div fa scattare allarme 2 volte. E 'ok, Ma:

  1. Cosa succede esattamente dopo il legame secondo clic grilletto per il div?
  2. È un comportamento del browser o è causato da variabili jQuery?

qui è il violino: http://jsfiddle.net/hpmhpm/FCReC/

risposta

4

Cosa succede esattamente dopo il legame secondo clic grilletto per il div?

Jquery un nuovo gestore di eventi click sul .xyz di registro, Non importa, quanti eventi gestore di sono già collegato al vostro elemento

Si tratta di un comportamento del browser o il suo fare da variabili jQuery?

E 'fatto da jQuery


È possibile avere fino gestore di eventi di desideri sullo stesso elemento, prendere in considerazione uno scenario -

Ciò è perfettamente valido:

$('.xyz').on('click', function(){ // do some work }); 
$('.xyz').on('click', function(){ // do some other work }); 
+0

Così jquery imposta una specie di variabile o array per memorizzare trigger innescati, ho ragione? – HPM

+1

Sì, il loro è un tipo di proprietà che ogni elemento ha 'Listener di eventi ', È possibile controllare quali eventi sono collegati su un particolare elemento su Strumenti di sviluppo Webkit, –

+0

solo per chiarezza, l'ordine di evento è fifo o lifo? – sasjaq