【问题标题】:difference of load/ready events between window and document窗口和文档之间加载/就绪事件的差异
【发布时间】:2011-03-17 09:28:27
【问题描述】:

$(window).ready(function(){})$(document).ready(function(){})?有区别吗

如果有,那是什么?

同样,$(window).load(function(){});$(document).load(function(){}); 之间有什么区别?

【问题讨论】:

  • 我想指出,我的问题更多是关于 window 和 document 之间的区别,而不是 window.load vs document.ready ...我想知道如果你打电话有什么区别准备好文档与窗口...加载速度更快吗?慢点?等等...请重新考虑打开这个。
  • 出于这个原因,我将其标记为重新打开。这绝对不是一个重复的问题,而且我一直在努力寻找自己的答案。我希望我们能很快看到一些富有成效的回应。

标签: javascript jquery


【解决方案1】:

在研究这个问题和其他“就绪”问题时,我想我发现了this question. 的不同之处

这是 jQuery 中的就绪函数处理程序。

ready: function( fn ) {
    // Attach the listeners
    jQuery.bindReady();
    // Add the callback
    readyList.add( fn );
        return this;
},

似乎您可以将任何元素(甚至是完全乱码)添加到此函数中,并且它的回调将添加到 readyList。似乎当文档准备好时,它会触发 readyList 中的所有回调,不管它们是否是文档的一部分。

参见这个小提琴的例子:http://jsfiddle.net/w5k5t/2/

我还没有完全测试这些准备调用的顺序,但是对代码的简短检查让我相信它们将按照添加回调的顺序同步执行。

因此,$(document).ready 和 $(window).ready 是同义词,就像 $('aoeuaoeuaoeu').ready 是同义词一样,每个都可能按照它们声明的顺序触发。

【讨论】:

  • 感谢您的回答。让我明白了。 $(document).load 甚至从未真正触发过
【解决方案2】:

当 HTML 文档被加载并且 DOM 准备就绪时,文档就绪事件已经执行,即使所有图形还没有加载。
窗口加载事件在整个页面完全加载后执行,包括所有框架、对象和图像。因此,涉及图像或其他页面内容的函数应放置在窗口或内容标签本身的加载事件中。

参考link1link2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    相关资源
    最近更新 更多