I\'m creating an Angular component that wraps a native element with some additional features. Buttons do not fire a click event if they\'re disab
I do not believe there is a native way to prevent the event from firing, as supported by this git issue in 2016:
The order of execution is red herring - the order in which an event on the same element is propagated to multiple listeners is currently undefined. this is currently by design.
Your problem is that the event exposed to the listeners is the real DOM event and calling stopImmediatePropagation() on the provided event stops execution of other listeners registered on this element. However since all the the listeners registered via Angular are proxied by just a single dom listener (for performance reasons) calling stopImmediatePropagation on this event has no effect.