Зачем нужно погружение события?
DOM и браузер
Погружение события (capturing) нужно, чтобы перехватить событие на пути вниз к целевому элементу — до того, как сработают обработчики самого элемента и всплытие.
Что это
Фаза погружения — первая фаза распространения события: оно идёт от document вниз через предков к целевому элементу. Обработчики этой фазы срабатывают раньше целевых и всплывающих:
parent.addEventListener('click', handler, { capture: true }); // фаза погруженияЗачем нужно
Ранний перехват
Обработать событие на родителе до того, как оно дойдёт до потомка — например, чтобы предотвратить или подготовить обработку:
document.addEventListener('click', (e) => {
// перехватить любой клик раньше всех остальных обработчиков
}, { capture: true });Приоритетная обработка
Когда родитель должен решить, пропускать ли событие к потомкам (аналитика, глобальные шорткаты, блокировка).
Обратный делегированию сценарий
Всплытие — обработка снизу вверх (делегирование). Погружение — сверху вниз, когда логика родителя важнее.
На практике
Погружение используют редко — большинство задач решаются всплытием (делегированием). Capturing нужен для специфичных случаев раннего перехвата.
Порядок
Погружение (сверху вниз) → Цель → Всплытие (снизу вверх)Коротко для собеседования
Погружение (capturing) нужно для перехвата события на пути вниз к цели — до целевых и всплывающих обработчиков ({ capture: true }). Применяют для раннего/приоритетного перехвата на родителе (глобальные шорткаты, блокировка, аналитика). Используется редко — большинство задач решает всплытие (делегирование).