在实际的工作工程中,经常使用到$(document).ready()以及window.onload方法,这两者的功能我一直以为是一样的,直到今天遇到问题才发现这两者的功能是有不同的,现在记录下来供参考。
首先点出两者之间最大的不同:$(document).ready()是当浏览器构造出DOM树后便会触发(即它不会等待其中的图片等元素加载完毕,只要构建出img等标签即可);window.onload则是等页面中的所有元素加载完成后才会触发。所以以后使用的时候要明白这两者的不同之处。$(document).ready()比较“着急”,想让你尽可能快的进行操作,而window.onload则比较“稳重”,它会等页面都加载完后才让你进行操作。
除了以上调用时间节点的不同之处,还有一些比较细微的不同,比如,window.onload是JavaScript原生的,而$(document).ready则是jquery中的;再比如一个页面中window.onload只能调用一次,而$(document).ready则可以调用多次等。