2013-05-03 4 views
5

Благодаря jQuery метод .on связывает триггер с элементом. У меня есть HTML, как:jquery: Что происходит после связывания события более одного раза?

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

и сценарий, как:

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

нажав на жми меня ДИВ вызывает тревоги 2 раза. Это нормально, Но:

  1. Что именно происходит после связывания второго триггера щелчок на DIV?
  2. Это поведение браузера или его выполнение с помощью переменных jquery?

здесь скрипка: http://jsfiddle.net/hpmhpm/FCReC/

ответ

4

Что именно происходит после связывания второго триггера щелчок на DIV?

Jquery регистр новая Обработчик события щелчка на .xyz, Независимо от того, сколько событий обработчика уже привязаны к элементу

Является ли это поведение браузера или его сделали с помощью Jquery переменных?

Это сделано JQuery


Вы можете иметь столько, сколько обработчике события вы хотите на том же элементе, рассмотрим сценарий -

Это вполне допустимо:

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

Так jquery set тип переменной или массив для хранения связанных триггеров, правильно? – HPM

+1

Да, это своего рода свойство, в котором каждый элемент имеет «Слушатели событий». Вы можете проверить, какие события привязаны к определенному элементу в Инструментах разработчика Webkit, –

+0

только для четкого, является ли пожарный заказ fifo или lifo? – sasjaq

Смежные вопросы