Редко когда вам действительно нужен плагин, как livequery
.Вероятно, единственное время, которое вам действительно нужно, это если вам нужно реагировать на изменения в DOM, сделанные другим кодом jQuery, который вы не можете изменить .
Хотя .live()
использует событиеделегирование, он делает это на уровне document
, что означает, что ему нужно обработать все события на странице, чтобы увидеть, соответствуют ли они селекторам, предоставленным для типа события.
ЛучшеАльтернативой (IMO) обоим является метод delegate()
(документы) , который использует делегирование событий точно так же, как .live()
, но позволяет ограничить егок определенной части страницы.
$('#someContainer').delegate('a.someButton', 'click', function() {
// do something when an "a.someButton" inside "#someContainer" is clicked
});
Обратите внимание, что методы делегирования событий реагируют на события браузера, а не на изменения в DOM.Если вам нужно запустить какой-то код на основе изменения в DOM, которое вы сделали, вам нужно запустить этот код при внесении этого изменения в DOM.