Событие readystatechange
имеет состояние с именем «интерактивный», что говорит о том, что браузер заранее блокирует интерактивные события . Это где-то стандартизировано? Каковы подробности?
Я имею в виду, что если браузер не будет откладывать / откладывать или блокировать эти события, то всегда будет условие гонки с Javascript присоединением обработчиков событий, если Javascript не смешан с HTML (с такими атрибутами, как onclick
или Javascript генерируется сам весь элемент).
Пример: браузер, загружающий огромную страницу, может уже сделать части DOM видимыми для пользователя (с учетом изменений, конечно), даже не закончив загрузку HTML. Что если пользователь что-то нажмет? Будет ли это событие проигнорировано, доставлено сейчас или выполнено позже? Я надеюсь, что это произойдет позже, когда объект события будет сгенерирован и направлен во время разблокирования, а не во время щелчка. Игнорирование тоже хорошо.