1、window.onload:
**当一个文档完全下载到浏览器中时,会触发 window.onload 事件。**这意味着页面上的全部元素对 javascript 而言都是可以访问的,这种情况对编写功能性的代码非常有利,因为无需考虑加载的次序。
2、
(
d
o
c
u
m
e
n
t
)
.
r
e
a
d
y
(
f
u
n
c
t
i
o
n
(
)
)
和
(document).ready(function(){})和
(document).ready(function())和()用法一样
通过
(
d
o
c
u
m
e
n
t
)
.
r
e
a
d
y
(
)
、
(document).ready()、
(document).ready()、() 注册的事件处理程序,则会在 DOM 完全就绪并可以使用时调用。虽然这也意味着所有元素对脚本而言都是可以访问的,但是,却不意味着所有关联的文件都已经下载完毕。换句话说,当 HTML 下载完成并解析为 DOM 树之后,代码就可以运行。
3、如果不加$(),直接放在中,可能导致文档没有加载完毕就执行了代码,导致代码执行不正确。
区别:
ready 事件的触发,表示文档结构已经加载完成(不包含图片等非文字媒体文件)。
onload 事件的触发,表示页面包含图片等文件在内的所有元素都加载完成。
$(function(){
/do some thing/
}) ;
$(document).ready(function(){
/ do some thing /
});
$().ready(function(){
/ do some thing /
});
/三者是等价的/
原生javascript中onload与jquery中的ready是不同的:
一个是次数不同,$().ready()在一个html中可以使用多次,onload只能使用一次或者说有效绑定只能是唯一的一个。
另一个是执行时机的不同,简单讲 ( ) 执 行 的 时 机 要 早 于 o n l o a d , 因 为 ()执行的时机要早于onload,因为 ()执行的时机要早于onload,因为()只要在DOM树加载完成就执行,onload要在全部的元素加载完成执行。