jQuery $(document).ready()和JavaScript window.onload()事件的区别
一、
在网上查了一下,发现$(document).ready()是在DOM树加载完成时触发,而window.onload()则是在整个页面全部加载完成时触发。下面是一些验证。
var start=+new Date(); $("document").ready(function(){ var end1=+new Date(); $("<div>div1 ready()时间: " + (end1-start) + " ms</div>").appendTo("body"); }); window.onload=function(){ var end2=+new Date(); $("<div>div2 onload()时间: " + (end2-start) + " ms</div>").appendTo("body"); }
执行结果:
div1 ready()时间: 17 ms
div2 onload()时间: 22 ms
说明window.onload()触发的比$(document).ready()晚一些,侧面证明了上述说明。
二、编写个数
window.onload()不能编写多个,后写的会覆盖之前的;$(document).ready()能同时写多次,都会执行
三、简化写法
$(document).ready()可以简化为$(function(){//...});