.жить() и привязать() [дубликат]


этот вопрос уже есть ответ здесь:

  • В чем разница между методами bind и live в jQuery? 10 ответов

Я хочу знать главное различие между

.live() и .bind()

методы в jQuery.

1   51   0000-00-00 00:00:00

1 ответ:

главное отличие в том, что live будет работать также для элементов, которые будут созданы после загрузки страницы (т. е. вашим кодом javascript), в то время как bind будет связывать только обработчики событий для существующих в настоящее время элементов.

// BIND example
$('div').bind('mouseover', doSomething);
// this new div WILL NOT HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');

// LIVE example
$('div').live('mouseover', doSomething);
// this new appended div WILL HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');

обновление:

в jQuery 1.7 устаревший live() метод и 1.9 удалил его. Если вы хотите достичь той же функциональности с 1.9+ вам нужно использовать новый метод on(), который имеет немного другой синтаксис как он вызывается на объект документа и переключатель передается в качестве параметра. Поэтому код сверху, преобразованный в этот новый способ привязки событий, будет выглядеть так:

// ON example
$(document).on('mouseover', 'div', doSomething);
// this new appended div WILL HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');