可能重复:
Can you have multiple $(document).ready(function() sections?
在同一页面上多次调用 $(document).ready 是否可以?如果是这样,如何解决运行代码的顺序,这是否有任何影响
我在我的rails应用程序中使用jQuery。我在应用程序中使用了几个级别的javascript,所有这些都使用jQuery。
例如,我有一些默认代码可以淡化我的application.js中的Flash Notices 我有一个包含在所有项目模型视图中的projects.js文件,我有一个project / edit.js,它只包含在编辑操作呈现的视图中。
在我使用的所有三个js文件中:
$(document).ready
{
//Do something
}
答案 0 :(得分:6)
没关系。
执行顺序与使用顺序相同。
先进先出
jQuery有一个名为readyList
的内部队列,存储ready事件的所有回调。使用回调调用ready
函数时,只需将其添加到队列中,并在DOM准备就绪时触发整个队列。
查看jQuery源代码可以很容易地告诉你:
源代码:
// The deferred used on DOM ready
readyList,
...
...
ready: function( fn ) {
...
// Add the callback
readyList.add( fn );
return this;
}
答案 1 :(得分:1)
他们运行the same order they were attached,这样做很好。但是,您可以执行a shorter equivalent来减少函数调用,因为$(document).ready()
本身就是2个函数调用
$(function(){
//document is ready
});
答案 2 :(得分:0)
调用jQuery中的$(document).ready按照定义的顺序执行。 更多信息在这里 http://docs.jquery.com/Tutorials:Multiple_$(document).ready()