Что такое первое событие, выпущенное HTML-документом?

Мне любопытно, какое событие запускается при использовании jQuery и jQuery Mobile.

Как ни странно, первый вывод консоли, который я получаю, это pagebeforecreate, затем document ready, а затем onload.

Я хотел бы знать, будут ли какие-либо другие события запущены перед этими.

http://jsfiddle.net/yYGYe/2/

$('html').bind('pagebeforecreate',function(event) {
    console.log("pagebeforecreate");
});

$(document).ready(function() {
    console.log("document ready");
});

window.onload = function(){
    console.log("onload");
};

Ответ 1

То, что вы ищете, представляет собой комплексную визуализацию жизненного цикла модели мобильных событий jQuery, эта диаграмма ниже доступна в Pro jQuery Mobile и в блоге автора:

jQuery Mobile Events Diagram - Brad Broulik

Пожалуйста, помните, что это jQuery для мобильных устройств. Список собственных событий доступен как часть спецификации W3, и единственный, относящийся к жизненному циклу документа, является старым старым load.

Ответ 2

Ваш вопрос и то, что вы просите, немного другое.

Вы спрашиваете, что произошло с первым событием, но в контексте вы спрашиваете, является ли pagebeforecreate функцией вызова, если вы хотите, чтобы это было первое событие, запущенное на странице.

Если вы прочитали документацию по jQuery Mobile, это говорит о том, что pagebeforecreate вызывается до создания каких-либо "виджетов". Так что в этом вопросе; все, что вы там введете, будет называться "до" всех jQuery Mobile виджетов, но не является первым событием, запущенным на странице HTML.

Первое событие, запущенное на странице HTML, возможно, document.readyState установлено как uninitialized, показывая, что ваша страница еще не готова к загрузке. Это все готовые состояния;

  • uninitialized (еще не начал загружаться)
  • Загрузка (загрузка)
  • interactive (достаточно загружен и пользователь может взаимодействовать с ним)
  • complete (полностью загружен)