jquery - jquery文档准备好的执行顺序

标签 jquery

假设,我有一个如下所示的 js 文件:

$(document).ready(function() { // first task} );
$(document).ready(function() { // second task } );
$(document).ready(function() { // third task } );

加载文件后,任务将按顺序执行。我不明白为什么? 我猜测当发生“就绪”事件时会触发回调方法。执行顺序如何保留?连续的回调是否在某个地方排队?

注意:我知道这是一种非常幼稚的编码方式。我编写该代码片段只是为了表达我的观点,并且不会在我的项目中编写此类代码。

最佳答案

您的处理程序正在 pushed into an array ( readyList ) 用于执行 in order later ,当文档 is ready .

They're queued like this :

readyList.push( fn );

And executed when ready like this :

var fn, i = 0;
while ( (fn = readyList[ i++ ]) ) {
  fn.call( document, jQuery );
}

如果文档已经准备好,那么它们将立即执行,这仍然是有序的。

关于jquery - jquery文档准备好的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934570/

相关文章:

jquery - 当有很多文本框时,如何使用jquery设置焦点?

javascript - 将表单的所有输入重置为默认值而不重新加载

javascript - 如果数据来自单独的 ajax 调用,如何为 jqGrid 添加服务器端分页?[Trirand JQgrid 4.6]

javascript - 滚动时淡入和淡出的图像(jquery)

javascript - 存储和恢复事件处理程序

c# - ASP.NET MVC 中类似 ListView 的实现

JQuery 更改所选列表项的背景颜色

jquery - 单击和双击事件触发

javascript - 为什么 jQuery 文件上传在第一次上传后停止工作?

javascript - 我可以使用 jQuery.extend 来模拟方法重载吗?