Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: stoppropagation, всплытие, event, dom

Как остановить всплытие события в JavaScript и для чего это нужно?

Этот вопрос проверяет знание механизма всплытия событий и того, как его можно контролировать, чтобы избежать ненужного вызова обработчиков на родительских элементах.

Короткий ответ

Для остановки всплытия события в JavaScript используется метод event.stopPropagation(). Это предотвращает дальнейшее "всплытие" события к родительским элементам, тем самым ограничивая его обработку только на текущем элементе. Например, если у вас есть вложенные кнопки, это поможет избежать ненужного срабатывания обработчиков на родительских элементах.

Длинный ответ

Всплытие события — это процесс, при котором событие, сначала срабатывающее на целевом элементе, поднимается вверх по дереву DOM, вызывая обработчики событий на каждом родительском элементе. Это может быть удобно, но иногда вызывает проблемы, когда одно событие запускает несколько обработчиков на разных уровнях DOM, вызывая нежелательное поведение.

Метод event.stopPropagation() позволяет остановить дальнейшее всплытие события после его обработки на текущем элементе. Например, если у вас есть вложенные элементы с обработчиками событий, вы можете захотеть остановить событие на конкретном элементе, чтобы оно не срабатывало на родительских элементах.

Пример использования stopPropagation():

document.querySelector('.child').addEventListener('click', function(event) {
	event.stopPropagation();    
	console.log('Событие обработано на дочернем элементе.'); 
}); 
document.querySelector('.parent').addEventListener('click', function() {
	console.log('Это не сработает, так как всплытие остановлено.'); 
});

В этом примере событие клика останавливается на дочернем элементе, и оно не доходит до родительского элемента. Это полезно в ситуациях, когда вы хотите ограничить обработку событий только конкретным элементом, предотвращая нежелательные реакции на более высоких уровнях DOM.

Уровень

  • Рейтинг:

    3

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#stoppropagation

#всплытие

#event

#dom

Подпишись на React Developer в телеграм