Приоритет события DOM

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

54
задан Brian Tompsett - 汤莱恩 17 October 2019 в 01:23
поделиться

1 ответ

Это не было, насколько я знаю, явно определенный в прошлом. Различные браузеры свободны реализовать событие, заказывающее однако, что они считают целесообразным. В то время как большинство достаточно близко во всех практических целях, было и продолжает быть некоторыми нечетными пограничными случаями, где браузеры отличаются несколько (и, конечно, намного больше случаев, где определенным браузерам не удается отправить определенные события во всем ).

Однако черновая рекомендация HTML 5 действительно предпринимает попытку определить, как события будут поставлены в очередь и диспетчеризированы - цикл событий :

Для координирования событий, взаимодействия с пользователем, сценариев, рендеринга, сетей, и т.д, агенты пользователя должны использовать циклы событий, как описано в этом разделе.

должен быть по крайней мере один цикл событий на агент пользователя, и самое большее один цикл событий на единицу связанных контекстов просмотра подобного источника.

цикл событий имеет одну или несколько очередей задачи. Очередь задачи является заказанным списком задач [...], Когда агент пользователя должен поставить задачу в очередь, это должно добавить данную задачу к одной из очередей задачи соответствующего цикла событий. Все задачи из одного конкретного источника задачи должны всегда добавляться к той же очереди задачи, но задачи из различных источников задачи могут быть помещены в различные очереди задачи. [...]

[...] агент пользователя мог иметь одну очередь задачи для событий от нажатия мыши и ключевых событий (источник задачи взаимодействия с пользователем), и другой для всего остального. Агент пользователя мог тогда дать предпочтение событий клавиатуры и событий от нажатия мыши по другим задачам три четверти времени, сохранив интерфейс быстро реагирующим, но не исчерпав ресурсы другие очереди задачи, и никогда не обрабатывая события ни из какого источника задачи не в порядке. [...]

Примечание, которые длятся бит: именно до реализации браузера для определения событий будет группироваться и обрабатываться в порядке, а также приоритете, отданном какому-то конкретному типу события. Поэтому существует мало причины ожидать, что все браузеры диспетчеризируют весь события в фиксированном порядке, теперь или в будущем.

35
ответ дан Shog9 7 November 2019 в 08:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: