Если я прикреплю несколько обработчиков событий к одному событию в одном элементе DOM, гарантированно ли будут вызываться обработчики событий в том порядке, в котором они были добавлены? Или я не должен полагаться на это поведение?
Обработчики событий в JavaScript вызываются по порядку?
Ответы (1)
Этот был изменен в DOM3! В то время как спецификация событий DOM уровня 2 заявлял
Когда событие достигает цели, все прослушиватели событий, зарегистрированные в
EventTarget
. Хотя всеEventListeners
наEventTarget
гарантированно инициируются любым событием, полученным этимEventTarget
, никаких указаний не делается в отношении порядка, в котором они будут получать событие относительно другогоEventListeners
наEventTarget
.
Текущая спецификация событий DOM уровня 3 теперь государство
Реализация ДОЛЖНА определить прослушиватели событий-кандидатов текущей цели< /а>. Это ДОЛЖЕН быть список всех прослушивателей событий, которые были зарегистрированы на текущей цели в порядке их регистрации.
HTML5
определяет порядок слушателей регистрируется через атрибуты обработчика событий. […]Наконец, реализация ДОЛЖНА обрабатывать все возможные обработчики событий чтобы […]
Однако я не могу найти ссылку на это поведение в черновике DOM 4. больше.