Для правильной обработки событий на разных стадиях их распространения можно использовать следующие подходы:
- Настройка слушателей событий. www.hackfrontend.com Их можно настроить так, чтобы они работали либо в фазе захвата, либо в фазе всплытия, в зависимости от того, в какой фазе нужно перехватывать событие. www.hackfrontend.com
- Использование метода event.stopPropagation(). www.hackfrontend.com Он останавливает дальнейшее распространение события, будь то в фазе захвата или всплытия. www.hackfrontend.com
- Делегирование событий. goit.global Если есть много элементов, события которых нужно обрабатывать похожим образом, то вместо того, чтобы назначать обработчик каждому, можно поставить один обработчик на их общего предка. goit.global Из него можно получить целевой элемент, понять, на каком именно потомке произошло событие, и обработать его. goit.global
Также для доступа к элементу, на котором произошло событие, можно использовать свойство target на объекте события, в котором хранится ссылка на целевой элемент. goit.global