2010-07-07 85 views

回答

9

ready当只有DOM准备好而当所有资源包括页面DOM,图像,框架等已加载onload触发器被触发。

参见:

$(document).ready vs. $(window).load

ready在于使用jQuery而不是原始的JavaScript,所以我想你知道这一点,这样比较似乎是合乎逻辑。

+2

注意,浏览器必须支持底层'DOMContentLoaded'事件jQuery的'ready'事件立即触发时,文档内容已准备就绪。 IE可能会稍后启动它;对于没有支持的其他浏览器,'ready'会在'load'的同时有效触发。 – bobince 2010-07-07 19:30:01

7

。就绪之间的差异,尽快称为页面代码被下载和解析。

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

对于jQuery,使用.ready()可以取得最佳效果,除非您有特别的理由等待onload()。

1

所有在jquery docs内解释。

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

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

内部是 你想要的代码在页面加载时右击 。 然而,问题是, JavaScript代码不会运行,直到所有 图像完成下载(此 包括横幅广告)。 使用window.onload的原因 的原因是,HTML'文档'不是 完成加载,但你第一次尝试运行你的代码时, 。

为了绕过这两个问题,jQuery的 有一个简单的语句来检查 文件并等待,直到它准备 被操纵,被称为准备 事件:

顺便说一句(和suggested通过雅虎)我总是确保我的jquery/js脚本包含在身体关闭标记之前。这样你就不必担心窗口加载或jquery就绪函数。

2

。就绪()

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

- 从所述jQuery API Docs

.onload()

当用户代理完成加载窗或FRAMESET内所有帧出现onload事件。

- 从该HTML 4.01 Specification