Sobes.tech
Middle

¿Se puede detener la propagación de eventos? ¿Cómo? ¿Cuál es la diferencia entre stopPropagation y stopImmediatePropagation?

sobes.tech AI

Respuesta de la IA

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

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

Пример:

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