jQuery:在document.ready()和window.load()上执行函数

时间:2012-05-04 15:59:42

标签: javascript jquery function

我正在尝试执行两次jQuery函数。一旦DOM准备好,然后在页面加载时再次。大多数情况下,第二次通话不是必需的,但偶尔也是如此。这是我的代码:

$(document).ready(function() {
    function someFunction() {
        alert('function complete');
    }
});

$(window).load(function() {
    someFunction();
});​

我做错了什么?

3 个答案:

答案 0 :(得分:4)

你在传递给$(document).ready()的函数中定义someFunction ...函数的范围应该在它之外... 试试这个:

function someFunction() {
    alert('function complete');
}

$(document).ready(someFunction);
$(window).load(someFunction);​

答案 1 :(得分:2)

请改为尝试:

function someFunction() {
    alert('function complete');
}

$(document).ready(function() {
    someFunction();
});

$(window).load(function() {
    someFunction();
});

答案 2 :(得分:2)

{p> someFunction无法在$(window).load内访问,因为它的范围仅限于document.ready。把它从document.ready中取出并放在全局范围内。

function someFunction() {
        alert('function complete');
}

$(document).ready(function() {
     someFunction(); 
});

$(window).load(function() {
    someFunction();
});​