使用Onload还是准备好了?

时间:2010-07-07 19:02:39

标签: javascript jquery

在我的应用程序中,我正在使用

$(document).ready()

这与

有什么区别
$(document).onload()

4 个答案:

答案 0 :(得分:9)

ready仅在DOM准备就绪时触发onload,当{strong> 所有资源 (包括{ {3}},已加载图片,图片等。

请参阅:

DOM

注意 ready谎言jQuery不是原始javascript,所以我假设你知道那种比较看似合乎逻辑。

答案 1 :(得分:7)

.ready()在下载和解析页面代码后立即调用。

。在下载所有图像/视频/等时调用.onload()。

使用.ready()使jQuery工作得最好,除非你有特定的理由等到onload()。

答案 2 :(得分:2)

<强>。就绪()

  

在DOM准备就绪后执行的函数。

- 来自jQuery API Docs

<强> .onload()

  

当用户代理完成加载FRAMESET中的窗口或所有帧时,会发生onload事件。

- 来自HTML 4.01 Specification

答案 3 :(得分:1)

所有内容都在jquery docs内解释。

  

大多数Javascript的第一件事   程序员最终做的就是添加   一些代码到他们的程序,类似于   这样:

     

window.onload = function(){ alert("welcome"); }

     

里面是   您想要正确运行的代码   加载页面时。   然而,问题是,   Javascript代码直到全部运行   图像下载完毕(这个   包括横幅广告)。的原因   首先使用window.onload   就是HTML'文档'不是   完成加载,当你第一次   尝试运行你的代码。

     

为了避免这两个问题,jQuery   有一个简单的声明检查   记录并等待它准备好   被操纵,称为准备好   事件:

作为旁边(以及雅虎的suggested)我总是确保我的jquery / js脚本包含在正文结束标记之前。这样您就不必担心窗口加载或jquery就绪函数。