Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:在document.ready()和window.load()上执行函数_Javascript_Jquery_Function - Fatal编程技术网

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

Javascript jQuery:在document.ready()和window.load()上执行函数,javascript,jquery,function,Javascript,Jquery,Function,我尝试执行jQuery函数两次。一次是在DOM就绪时,另一次是在页面加载时。大多数情况下,第二次呼叫是不必要的,但偶尔也有必要。这是我的密码: $(document).ready(function() { function someFunction() { alert('function complete'); } }); $(window).load(function() { someFunction(); });​ 我做错了什么?试试这个: fun

我尝试执行jQuery函数两次。一次是在DOM就绪时,另一次是在页面加载时。大多数情况下,第二次呼叫是不必要的,但偶尔也有必要。这是我的密码:

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

$(window).load(function() {
    someFunction();
});​
我做错了什么?

试试这个:

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

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

$(window).load(function() {
    someFunction();
});
请尝试以下方法:

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

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

$(window).load(function() {
    someFunction();
});
$window.load中无法访问someFunction,因为它的作用域仅限于document.ready。将其从文档中取出。准备好并将其置于全局上下文中

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

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

$(window).load(function() {
    someFunction();
});​
$window.load中无法访问someFunction,因为它的作用域仅限于document.ready。将其从文档中取出。准备好并将其置于全局上下文中

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

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

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

您正在传递给$document的函数中定义某个函数。就绪…函数的作用域应该在它之外。。。 试试这个:

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

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

您正在传递给$document的函数中定义某个函数。就绪…函数的作用域应该在它之外。。。 试试这个:

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

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

为什么传递一个只调用另一个函数的函数?只需传递您想要调用的函数@因为Google Chrome my限制了函数调用,这也是跨浏览器开发的良好实践。Google Chrome建议使用anon函数。很抱歉,我没有理解你-Chrome may,这就是我认为你的意思限制函数调用?怎样相反,为什么?@ParthThakkar是的,我的意思是“可能”而不是“我的”Google Chrome沙盒脚本,我发现有时候如果你不在anon函数中包装调用,它将不会执行这些函数,Google Chrome除外,使用推荐标准是更好的做法。另外,用户可能希望在$document.ready中运行后续功能;你的方法不允许这样做。为什么传递一个只调用另一个函数的函数?只需传递您想要调用的函数@因为Google Chrome my限制了函数调用,这也是跨浏览器开发的良好实践。Google Chrome建议使用anon函数。很抱歉,我没有理解你-Chrome may,这就是我认为你的意思限制函数调用?怎样相反,为什么?@ParthThakkar是的,我的意思是“可能”而不是“我的”Google Chrome沙盒脚本,我发现有时候如果你不在anon函数中包装调用,它将不会执行这些函数,Google Chrome除外,使用推荐标准是更好的做法。另外,用户可能希望在$document.ready中运行后续功能;使用您的方法将不允许这样做。如前所述,这是一个作用域,但您基本上可以将.load事件绑定移动到DOM就绪回调函数中,并直接向someFunction添加另一个调用:如前所述,这是一个作用域,但基本上,您可以将.load事件绑定移动到DOM就绪回调函数中,并直接向someFunction添加另一个调用: