2013-05-03 6 views
5

Dzięki jQuery, metoda .on wiąże wyzwalacz z elementem. Mam HTML, takich jak:jquery: Co stanie się po powiązaniu wydarzenia więcej niż jeden raz?

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

i skrypt jak:

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

kliknięcie kliknij mnie div wyzwala powiadomienie 2 razy. Jest ok, Ale:

  1. Co dokładnie dzieje się po związaniu drugie kliknięcie spust do div?
  2. Czy jest to zachowanie przeglądarki lub jest wykonywane przez zmienne jquery?

oto skrzypce: http://jsfiddle.net/hpmhpm/FCReC/

Odpowiedz

4

Co dokładnie dzieje się po związaniu drugie kliknięcie spust do div?

Jquery rejestr jest nowa funkcja obsługi zdarzenia kliknięcia na .xyz, Bez względu na to, ile wydarzenie przewodnika są już przymocowane do elementu

Czy to zachowanie przeglądarki lub jej odbywa się poprzez zmienne jQuery?

Zrobione przez jQuery


Możesz mieć tyle obsługi zdarzenia, do którego chcesz tego samego elementu, należy rozważyć scenariusz -

To jest całkowicie poprawny:

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

Tak jquery ustawić rodzaj zmiennej lub tablicy do przechowywania wyzwalaczy, czy mam rację? – HPM

+1

Tak, ich właściwość jest taka, że ​​każdy element ma 'Wykrywaczy zdarzeń', możesz sprawdzić, które zdarzenia są dołączone do konkretnego elementu w Narzędziach programistycznych Webkit, –

+0

dla jasności, czy event eventowy jest fio lub lifo? – sasjaq

Powiązane problemy