> Как предотвратить всплытие события при клике на вложенные контейнеры в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: YADRO
Стек: JavaScript
> Пример ответа
Для предотвращения всплытия события (event bubbling) при клике на вложенные контейнеры в JavaScript используется метод stopPropagation() объекта события. Вызывайте его внутри обработчика клика на дочернем элементе, чтобы событие не передавалось родительским контейнерам.
Пример:
JAVASCRIPTdocument.querySelector('.child').addEventListener('click', function(event) {event.stopPropagation();// Ваш код обработки клика на дочернем элементе});document.querySelector('.parent').addEventListener('click', function() {// Этот обработчик не сработает при клике на .child});
Также можно использовать stopImmediatePropagation(), если нужно предотвратить всплытие и остановить выполнение других обработчиков на том же элементе. Альтернативный подход - проверять event.target в родительском обработчике, чтобы игнорировать клики на дочерних элементах, но это менее надёжно при сложной вложенности.
> Похожие задачи по frontend
Какая конструкция может использоваться вместе с try-catch в JavaScript
Как перехватить исключение в JavaScript
Как досрочно выйти из метода map в JavaScript
Какие элементы и в каком порядке хранятся в результирующем массиве в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью