Выбор ответа Middle События обновлено

stopPropagation и соседние обработчики

Вопрос

Что выведется при клике по btn (внутри box)?

btn.addEventListener('click', (e) => { e.stopPropagation(); console.log(1); });
btn.addEventListener('click', () => console.log(2));
box.addEventListener('click', () => console.log(3));

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 1 2. stopPropagation не даёт событию уйти к другим элементам, поэтому box не получит клик и 3 не будет.

Варианты ответа

  1. 1 2правильный ответ
  2. 1
  3. 1 2 3
  4. 1 3

Разбор

stopPropagation не даёт событию уйти к другим элементам, поэтому box не получит клик и 3 не будет. Но остальные обработчики на том же btn выполнятся, поэтому 2 выведется. Вариант 1 описывает stopImmediatePropagation. 1 2 3 игнорирует остановку, а 1 3 переворачивает смысл метода.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме