Страницы

Поиск по вопросам

среда, 10 октября 2018 г.

Как правильно добавить события к динамически создаваемым элементам? [дубликат]

На данный вопрос уже ответили: Как использовать плагины jquery с динамическим контентом или почему после AJAX отваливается javascript 1 ответ Исользую jquery. Мне нужно сделать, чтобы при наведении на любую ссылку в документе, отображалось бы - alert("ссылка") Изначально, в документе, у меня уже есть одна ссылка - Первая. Для неё я при загрузке добавляю событие - $("a").hover(function(e) {alert("ссылка"); }). Далее при наведение на эту ссылку событие отрабатывает нормально. Но после добавлении ссылок динамически (событие - $("a").click) на новых ссылках событие не срабатывает. Код страницы: Nexus
Первая Подскажите, пожалуйста, как сделать, чтобы событие $("a").hover отрабатывало на все ссылки, в том числе и динамически, в том числе и на добавленные после загрузки документа?


Ответ

@vvtvvtvvt, по сути, вам уже ответил @artem328, но только он почему-то поленился рассказать, что для динамических элементов используется делегированная обработка собятий, и схематически это выглядит так: $('parent_static').on('event', 'children_dinamic', handler); Где parent_static - это статичный родительский элемент (лучше ближайший, но подойдёт и body), event - событие, children_dinamic - дочерний динамический элемент, на котором обработчик и должен сработать. При этом указатель this или объект jQuery $(this) в обработчике - имено дочерний динамический элемент.

Комментариев нет:

Отправить комментарий