jQuery 中使用$(document).ready()与onload()的区别

最近写页面的时候经常会遇到,在onload里面写的函数有的时候在页面加载完后不会执行到,经过研究发现了一些onload与$(document).ready()二者之间的区别与关联。

      首先,两个都是在页面加载后会自动运行一段函数的方法。当一个文档完全下载到浏览器中时,会出发window.onload()事件,这意味着页面上的全部元素对JavaScript而言都是可以访问的,这种情况对编写功能性代码都非常有利,因为无需考虑文档加载的次序。

      而通过$(document).ready()注册的事件处理程序,则会在DOM完全就需并可以使用时才被触发,虽然这也意味着所有元素都可以访问,但却不意味着所有关联的文件都已经下载完毕。换句话说,当HTML下载完成并解析成DOM树之后,代码就可以运行。

      总的来说$(document).ready()是在DOM被解析后,图像和外部资源加载之前执行,而window.onload()是在全部完成后才执行。

      他们之间还有一个区别就是window.onload函数一次只能保存对一个函数的引用,如:

           window.onload = doone();

           window.onload = dotwo();

      对于这两行代码,最后只执行dotwo()函数,但$(document).ready()可以加多个函数依次执行。 $(document).ready也有一些简写方法:

      $(document).ready(function(){});  <=> $().ready(function(){});  <=>$(function(){});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值