如何向$(window).load()添加函数?

时间:2011-06-07 08:18:31

标签: events load jquery onload

很好奇是否有一种简单的方法可以在$(window).load()事件被触发之前添加函数。例如,如果您在页面开头两次调用$(window).load(),则只会执行第二次调用的函数onload

jQuery中是否有某种工具可以添加到onload事件而不是替换它?如果是,那么$(document).ready()来电怎么样?

3 个答案:

答案 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准备好之后和呈现页面之前执行作为参数传递的函数。