Насколько я знаю, это не было явно определено в прошлом. Различные браузеры могут свободно упорядочивать события по своему усмотрению. Хотя большинство из них достаточно близки для всех практических целей, были и остаются некоторые странные случаи, когда браузеры несколько отличаются (и, конечно, еще много случаев, когда определенные браузеры не могут отправлять определенные события вообще * 1002). *).
Тем не менее, проект HTML 5 пытается определить, как события будут помещаться в очередь и отправляться - цикл обработки событий :
Для координации событий пользователь
взаимодействие, скрипты, рендеринг,
сеть и т. д., пользовательские агенты
должны использовать циклы событий, как описано в
этот раздел.
Должен быть хотя бы один цикл событий
за агента пользователя и самое большее одно событие
цикл на единицу связанных
контексты просмотра аналогичного происхождения.
Цикл обработки событий имеет одну или несколько задач
Очереди. Очередь заданий упорядочена
список задач [...]
Когда пользовательский агент ставит задачу в очередь,
он должен добавить задание к одному из
очереди задач соответствующего события
петля. Все задания от одного
конкретный источник задачи всегда должен быть
добавлен в ту же очередь задач, но
задачи из разных источников задач могут
помещаться в разные очереди задач.
[...]
[...] пользовательский агент может иметь одну очередь задач
для мыши и ключевых событий (пользователь
источник задачи взаимодействия) и другое
для всего остального. Пользовательский агент
мог тогда дать клавиатуру и мышь
предпочтение событий перед другими задачами
три четверти времени, сохраняя
интерфейс отзывчивый но не
голодание других очередей задач, и никогда
обработка событий из любой задачи
источник вышел из строя. [...]
Обратите внимание, что последний бит: это зависит от реализации браузера, чтобы определить, какие события будут сгруппированы и обработаны по порядку, а также приоритет, отданный любому конкретному типу события. Поэтому нет оснований ожидать, что все браузеры будут отправлять все события в фиксированном порядке, сейчас или в будущем.