> Как предотвратить всплытие события клика в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Домклик, DigitalSail, Яндекс
Стек: JavaScript
> Пример ответа
Для предотвращения всплытия события клика в JavaScript используется метод stopPropagation() объекта события. Вызывайте его внутри обработчика:
JAVASCRIPTelement.addEventListener('click', function(event) {event.stopPropagation();// ваш код});
Также можно применить stopImmediatePropagation(), если нужно остановить не только всплытие, но и выполнение других обработчиков на том же элементе:
JAVASCRIPTelement.addEventListener('click', function(event) {event.stopImmediatePropagation();// ваш код});
В старых браузерах (IE8 и ниже) используется свойство cancelBubble:
JAVASCRIPTelement.onclick = function(event) {event = event || window.event;if (event.stopPropagation) {event.stopPropagation();} else {event.cancelBubble = true;}};
На практике чаще всего достаточно stopPropagation(), особенно при работе с вложенными элементами, где нужно предотвратить срабатывание родительских обработчиков.
> Похожие задачи по frontend
Как влияют неявные преобразования типов в JavaScript на разработку
Что делает метод stopPropagation и как он влияет на обработку событий в DOM
В какой очередности выполняются console.log, setTimeout и Promise в JavaScript
Какие примитивные типы существуют в JavaScript?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью