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