Задать вопрос
bootd
@bootd
Гугли и ты откроешь врата знаний!

В чем разница написания таких событий клика у jquery?

Поясните, в чем разница написания всех этих событий между собой:
1)
$('body').on('click','#link1',function(){
...
});


2)
$('#link1').on('click',function(){
...
});


3)
$('#link1').click(function(){
...
});
  • Вопрос задан
  • 4828 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя aen К ответам на вопрос (4)
aen
@aen
Keep calm and 'use strict';
Третий вариант это всего лишь алиас ко второму варианту. Если выбирать между ними, то лучше использовать второй.

Первый вариант это делегирование обработки события одному из родительских контейнеров.

Тут нужно говорить о "всплытии" событий. Если у вас произошло событие "click" на каком-то элементе, то вы его сможете обработать как на самом элементе (случаи 2 и 3), так и на любом родителе (случай 1), так как это событие "всплывает", то есть вызывается на всех родителях до тех пор, пока оно не достигнет document.

Первый способ имеет смысл применять в случаях, когда в момент определения обработчиков события самого элемента, на котором будет это событие, попросту нет в DOM.
Ответ написан
Комментировать