Оглавление

.live() и .die()

Аналогично методам .bind() и .unbind(), методы .live() и .die() предназначены соответственно для подключения обработчиков событий к элементу или их удаления. Основным отличием является то, что метод .live() осуществляет подключение обработчиков событий и свойств JavaScript не только к существующим элементам, но и к любым новым элементам, динамически добавленным в DOM, которые соответствуют селектору.

 

Например, добавьте обработчик события click для всех элементов а с помощью такого кода.

$("a")
    .live("click", function(){
            console.log("Щелчок на ссылке!");
            return false; // предотвратить запуск события при щелчке на ссылке
        });

 
Конечно же, в настоящий момент на странице из нашего примера отсутствуют какие-либо ссылки. Не перезагружая страницу, добавьте дескриптор а в абзац с идентификатором bar с помощью следующего кода.
$("<a>", {
            "href":"http://google.ru",
            "text":"Перейти на  Google!"
        })
    .appendTo("#bar");

 
На странице отобразится новая ссылка, и хотя привязка события была осуществлена еще до того, как в DOM имелся хотя бы один дескриптор а, щелчок на ссылке вызовет вывод сообщения в окне консоли, и перехода по ссылке не произойдет.

 

Выполнение предыдущего действия с использованием метода .bind() не даст желаемого результата. Кроме того, обработчик события click, связанный с методом .live(), нельзя удалить с помощью метода .unbind(); для удаления события следует привлечь метод .die(). Метод  .die() используется точно так же, как и метод
.unbind().

 

 

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити