Sobes.tech
Middle

Is het mogelijk om de gebeurtenisverspreiding te stoppen? Hoe? Wat is het verschil tussen stopPropagation en stopImmediatePropagation?

sobes.tech AI

Antwoord van AI

Да, остановить всплытие событий можно с помощью методов stopPropagation() и stopImmediatePropagation() объекта события.

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

Пример:

element.addEventListener('click', (event) => {
  event.stopPropagation(); // или event.stopImmediatePropagation();
  console.log('Обработчик на элементе');
});