绑定`ready`和`load`事件

时间:2018-01-29 08:40:48

标签: javascript jquery

来自目前在Google I saw code which looks similar to this上工作的一名男士:

$(document).bind('ready load', function() { ... });

有两个相互交织的问题:

  • 由于我只是JS的新手,我不明白这个绑定的目的。为什么我们需要readyload?我倾向于认为有时候我们需要ready,有时需要load,但不是两者都需要。

  • 此外,我倾向于认为ready适用于document,而load适用于window。这意味着:

    $(document).ready(function() { ... });
    $(window).load(function() { ... });
    

    但是从第一个片段可以看出,readyload都用于document。那么,我的假设(ready适用于document,而load适用于window)是不正确的?

1 个答案:

答案 0 :(得分:0)

我认为就绪和负载之间的主要区别如下:

  • 当dom准备好时就准备好了,这意味着即使内容(即图像仍在加载)尚未完全完成,元素层次结构也已准备就绪。在这个阶段处理DOM是安全的。
  • 即使内容已完成加载给定元素$(smthing).load也会加载。这意味着如果附加到文档,则在加载所有内容(即完成下载的图像等)之后将触发此事件

编辑:另请查看jQuery - What are differences between $(document).ready and $(window).load?