Есть три "фазы" события; Capture, At target and Bubble .Они происходят в таком порядке, что означает, что если вы установите прослушиватель событий в фазу захвата, он всегда будет срабатывать раньше, чем один набор регулярно (что будет означать либо цель, либо пузырь).
Примерно так:
// in parent, third argument is "use capture"
child.addEventListener(MouseEvent.CLICK, handleClickInParent, true);
// in child, add listener as usual
addEventListener(MouseEvent.CLICK, handleClick);
Теперь ваш родительский прослушиватель событий всегда будет запускаться первым!