Javascript 多次调用$(document).在同一页上就绪

Javascript 多次调用$(document).在同一页上就绪,javascript,jquery,ruby-on-rails,document-ready,Javascript,Jquery,Ruby On Rails,Document Ready,可能重复: 可以在同一页上多次调用$(document).准备好了吗?如果是,代码的运行顺序如何解决?这是否有任何影响 我正在rails应用程序中使用jQuery。我在应用程序中使用了几个级别的javascript,所有这些都使用jQuery 例如,我的application.js中有一些默认代码,可以淡出Flash通知 我有一个projects.js文件,它包含在所有项目模型视图中,还有一个Project/edit.js,它只包含在由编辑操作呈现的视图中 在我使用的所有三个js文件中: $(

可能重复:

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

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

例如,我的application.js中有一些默认代码,可以淡出Flash通知 我有一个projects.js文件,它包含在所有项目模型视图中,还有一个Project/edit.js,它只包含在由编辑操作呈现的视图中

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

$(document).ready
{
   //Do something
}
很好

执行顺序将与使用的顺序相同

先进先出

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

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

源代码:

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

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

    return this;
}
很好

执行顺序将与使用的顺序相同

先进先出

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

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

源代码:

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

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

    return this;
}
jQuery中对$(document).ready的调用是按照定义的顺序执行的。 更多信息请点击这里

对$(document.ready in jQuery)的调用按照定义的顺序执行。 更多信息请点击这里

他们跑步,这样做没关系。但是,您可以减少函数调用,因为
$(document).ready()
本身就是两个函数调用

$(function(){
    //document is ready
});
他们跑,这样做没关系。但是,您可以减少函数调用,因为
$(document).ready()
本身就是两个函数调用

$(function(){
    //document is ready
});

是……可以多次调用$(document).ready。代码运行的顺序取决于先加载哪个js。@ManseUK这是一个很好的链接,但我认为这个问题略有不同。@1ndivisible这就是为什么它在注释前面有“可能”一词的原因您也可以在这个问题中检查接受的答案@ManseUK Yes。我明白。我只是简单地概述了为什么我不认为它是复制品。这就是为什么我在评论中使用“我想”这个词。是的……可以多次调用$(document)。ready。代码运行的顺序取决于先加载哪个js。@ManseUK这是一个很好的链接,但我认为这个问题略有不同。@1ndivisible这就是为什么它在注释前面有“可能”一词的原因您也可以在这个问题中检查接受的答案@ManseUK Yes。我明白。我只是简单地概述了为什么我不认为它是复制品。这就是我在评论中使用“我想”这个词的原因。