В DOM дереве событие проходит по определенному маршруту - от корня дерева к элементу, который событие инициировал, а после этого событие идет в обратную сторону - к корню DOM дерева. Используя addEventListener в JavaScript, можно определить на каком именно этапе будет обрабатываться событие. Это позволяет создать эффективный код обработки событий нескольких элементов управления. В этом уроке будут рассмотрены этапы распространения события, способы установки обработчиков на разные этапы и примеры кода, показывающие для чего это используется.