Представим, что у Вас есть на странице ссылки или элементы с одним классом .class. Вы используете jQuery для обработки события click. Например, так:

$('.class').click(function(e) {
e.preventDefault();
alert("click!");
});

Как только Вы совершите клик по объекту с классом .class, то получите сообщение alert.

Однако, если попробовать подгрузить на эту же страницу элементы DOM с тем же классом (любым методом, например $.ajax({})), то при клике на них Вы ничего не получите. Они не будут обрабатываться. Это и логично, ведь мы не знали о них, когда страница загружалась.

Как же быть тогда? Для этого существует метод live у jQuery. Метод привязывает обработчик к событию для всех элементов, включая будущих. В случае с нашим примером, его необходимо использовать так:

$('.class').live('click', function () {
e.preventDefault();
alert("click!");
});

Все! После этого все события будут обрабатываться.

(Visited 750 times, 1 visits today)