在$(document).ready()完成后如何触发?

时间:2011-05-13 15:28:18

标签: javascript jquery document-ready

有没有办法让你的函数在$(document).ready()队列中作为LAST被调用,或者有没有办法在事件完成后触发事件?

我想基本上看看$(document).ready()是否触发了某些事情,如果没有,则在病房之后开火。如果我将此代码放入文档准备就绪,则无法保证它将最后执行,因此可能导致多次检查。

3 个答案:

答案 0 :(得分:5)

您可以在触发函数时设置全局变量,并在再次运行之前检查它:

如,

function myFunc()
{
    if (myFuncHasFired)
        return;
    myFuncHasFired = true;
    //your func code here
}

这并不能保证你的函数会在最后运行,但是满足我认为你在一次请求中不能多次运行函数的真正要求。

答案 1 :(得分:4)

在代码末尾添加另一个$(document).ready()块。 jQuery按照它们看到的顺序执行它们,所以如果你在代码的末尾添加另一个块,它应该在另一个块完成后调用。

答案 2 :(得分:0)

这听起来像readyX插件的完美用例:http://plugins.jquery.com/project/readyx

该插件为应该在最后发生的就绪事件提供队列。