3

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

我想基本上看看是否有东西被解雇了$(document).ready(),如果没有,在病房之后解雇它。如果我将此代码放入准备好的文档中,则不能保证它将最后执行,因此可能会导致多次检查。

4

3 回答 3

5

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

例如,

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

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

于 2011-05-13T15:29:48.727 回答
4

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

于 2011-05-13T15:30:25.670 回答
0

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

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

于 2011-05-13T15:42:13.010 回答