Задать вопрос
Dr_Elvis
@Dr_Elvis
В гугле забанен

Как повесить обработчик событий только на элемент, без дочерних?

Добавляю обработчик на элемент, потом на дочерний элемент, но при нажатии на дочерний срабатывают два.
Есть какой параметр на то чтобы не наследовался обработчик на дочерние элементы?
  • Вопрос задан
  • 350 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Отменить всплытие события в обработчике клика дочернего элемента с помощью event.stopPropagation()
document.querySelector('.close').addEventListener('click', function(e){
  e.stopPropagation()
  document.querySelector('.result').insertAdjacentHTML('beforeend', '<div>Close</div>');
});


Либо в обработчике делать проверку на то, на каком конкретно элементе произошёл клик.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Можно попробовать просто при нажатии использовать target:
const inner = document.querySelector('.close');
inner.addEventListener('click', ({ target }) => {
  console.log(target);
})
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект