1

可能重复:
你可以有多个 $(document).ready(function() 部分吗?

可以在同一页面上多次调用$(document).ready吗?如果是这样,代码运行的顺序如何解决,这是否有任何影响

我在我的 Rails 应用程序中使用 jQuery。我通过应用程序使用了几个级别的 javascript,所有这些都使用 jQuery。

例如,我的 application.js 中有一些默认代码淡出 Flash Notices通过编辑操作。

在我使用的所有三个 js 文件中:

$(document).ready
{
   //Do something
}
4

3 回答 3

6

没关系。

执行顺序将与它们使用的顺序相同。

先进先出

jQuery 有一个内部队列,称为readyList存储就绪事件的所有回调。当您ready使用回调调用函数时,只需将其添加到队列中并在 DOM 准备好时触发整个队列。

查看 jQuery 源代码可以很容易地告诉你:

源代码:

// The deferred used on DOM ready
readyList,
...
...

ready: function( fn ) {
    ...
    // Add the callback
    readyList.add( fn );

    return this;
}
于 2012-05-17T10:21:05.847 回答
1

他们运行与附加的相同的顺序,这样做很好。但是,您可以做一个更短的等价于减少函数调用,因为$(document).ready()它本身就是 2 个函数调用

$(function(){
    //document is ready
});
于 2012-05-17T10:22:39.680 回答
0

jQuery 中对 $(document).ready 的调用按照定义的顺序执行。更多信息在这里 http://docs.jquery.com/Tutorials:Multiple_$(document).ready()

于 2012-05-17T10:21:39.077 回答