我很好奇在使用jQuery和jQuery Mobile时首先触发了哪个事件。
奇怪的是,我得到的第一个控制台输出是pagebeforecreate
然后是document ready
,然后是onload
。
我想知道在这些事件发生之前是否还有其他事件被发射。
$('html').bind('pagebeforecreate',function(event) {
console.log("pagebeforecreate");
});
$(document).ready(function() {
console.log("document ready");
});
window.onload = function(){
console.log("onload");
};
答案 0 :(得分:7)
您正在寻找的是jQuery移动事件模型生命周期的全面可视化,下图可在Pro jQuery Mobile和on the author's blog中找到:
请记住,这是特定于jQuery的移动设备。原生事件列表可用as part of the W3 spec,唯一与文档生命周期相关的事件是旧的load
。
答案 1 :(得分:4)
你的问题和你要问的实际情况有点不同。
你问第一个被触发的事件是什么,但在上下文中你要问pagebeforecreate
是否是要调用的函数,如果你想让它成为页面上第一个被触发的事件。
如果您阅读有关此问题的jQuery Mobile文档,则表示在实例化任何“小部件”之前调用pagebeforecreate
。那就是那个问题;你放在那里的所有内容都将被称为“之前”所有jQuery Mobile小部件,但本身并不是在HTML页面上触发的第一个事件。
在HTML网页上触发的第一个事件可能document.readyState
被设置为uninitialized
,表示您的网页尚未准备好加载。这些都是准备状态;