@Nwton

Что сделать, что бы addEventListener не учитывал дочерний dom?

Необходимо, что бы по завершению анимации у конкретного блока, срабатывала функция. Повесил addEventListener on animationend, работает.

Проблема в том, что функция также срабатывает, когда завершается анимация одного из дочерних элементов. Как сделать так, что бы listener слушал только конкретный блок и игнорировал весь node?
  • Вопрос задан
  • 882 просмотра
Решения вопроса 2
@lem_prod
на дочерних элементах я так понял тоже висят обработчики для данного события, и когда они отрабатывают происходит всплытие, способ первый, остановить всплытие в обработчике event.stopPropagation(); в начале события
второй, добавить проверку, что событие отрабатывает именно на том элементе, на которому было присвоено if (this != event.target) return;
Ответ написан
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Вы код покажите. Но вангую что как-то так:
el.addEventListener("animationend", function handler (e) {
    // проверяем e.target и принимаем решение
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
Что сделать, что бы addEventListener не учитывал дочерний dom?


Узнать про основы работы с событиями и что такое event bubbling и event capturing, пойти от теории к практике, а не наоборот.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы