很好奇是否有一种简单的方法可以在$(window).load()
事件被触发之前添加函数。例如,如果您在页面开头两次调用$(window).load()
,则只会执行第二次调用的函数onload
。
jQuery中是否有某种工具可以添加到onload
事件而不是替换它?如果是,那么$(document).ready()
来电怎么样?
答案 0 :(得分:5)
它们实际上按指定的顺序堆叠。这是一个例子:http://jsfiddle.net/73D9Z/
我使用过window.ready()
$(window).ready(function(){
alert('window ready 1');
});
$(window).ready(function(){
alert('window ready 2');
});
$(document).ready(function(){
alert('document ready 1');
});
$(document).ready(function(){
alert('document ready 2');
});
答案 1 :(得分:2)
function windowLoad(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
function documentReady(func) {
var oldonload = document.ready;
if (typeof document.ready != 'function') {
document.ready = func;
} else {
document.ready = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
答案 2 :(得分:1)
$(window).load()在呈现页面后执行。
$(document).ready(handler)在DOM准备好之后和呈现页面之前执行作为参数传递的函数。