Встречается на собеседованиях • сегодня

Какие знаешь стадии распространения событий по DOM дереву

События в DOM проходят три стадии:

  1. Capture phase (погружение) - событие движется от корня документа к целевому элементу. Редко используется, но можно отловить через addEventListener с третьим параметром true.

  2. Target phase - событие достигло целевого элемента. Обработчики вызываются на самом элементе.

  1. Bubble phase (всплытие) - событие поднимается обратно к корню. По умолчанию обработчики срабатывают на этой фазе.

Пример:

javascript
document.querySelector('button').addEventListener('click', function() {
  console.log('Target phase');
}, false); // false = bubble phase (по умолчанию)

document.body.addEventListener('click', function() {
  console.log('Bubble phase');
}, false);

document.body.addEventListener('click', function() {
  console.log('Capture phase');
}, true); // true = capture phase

Можно остановить распространение через event.stopPropagation().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы