#jquery #веб_программирование #javascript #html #css
На данный вопрос уже ответили:
Как использовать плагины jquery с динамическим контентом или почему после
AJAX отваливается javascript
1 ответ
Исользую jquery. Мне нужно сделать, чтобы при наведении на любую ссылку в документе,
отображалось бы - alert("ссылка").
Изначально, в документе, у меня уже есть одна ссылка - Первая. Для неё я при
загрузке добавляю событие - $("a").hover(function(e) {alert("ссылка"); }). Далее при
наведение на эту ссылку событие отрабатывает нормально. Но после добавлении ссылок
динамически (событие - $("a").click) на новых ссылках событие не срабатывает.
Код страницы:
Nexus
Первая
Подскажите, пожалуйста, как сделать, чтобы событие $("a").hover отрабатывало на все
ссылки, в том числе и динамически, в том числе и на добавленные после загрузки документа?
Ответы
Ответ 1
@vvtvvtvvt, по сути, вам уже ответил @artem328, но только он почему-то поленился рассказать, что для динамических элементов используется делегированная обработка собятий, и схематически это выглядит так: $('parent_static').on('event', 'children_dinamic', handler); Где parent_static - это статичный родительский элемент (лучше ближайший, но подойдёт и body), event - событие, children_dinamic - дочерний динамический элемент, на котором обработчик и должен сработать. При этом указатель this или объект jQuery $(this) в обработчике - имено дочерний динамический элемент.Ответ 2
Вот как-то такОтвет 3
Вы привязываете события к ссылкам только при загрузке страницы, когда только одна ссылка существует. Решением будет привязывать события каждый раз, когда добавляется ссылка.Nexus Первая jsFiddle
Комментариев нет:
Отправить комментарий