Sobes.tech
Middle

Vai ir iespējams apturēt notikumu izplatīšanos? Kā? Kāda ir atšķirība starp stopPropagation un stopImmediatePropagation?

sobes.tech AI

Atbilde no AI

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

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

Пример:

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