document与window及load与ready之间的区别

  • window与document  

window指浏览器的窗口,document指浏览器窗口中加载的dom元素。在浏览器中,当其中加载的页面超过一屏时,$(window).height()与$(document).height()的值是不等的

  • load与ready

load事件在jquery中主要用来代替原生的window.onload

load只能用在两个场景下:

  1. window对象上:$(window).load(function(){})
  2. 带有src的元素:如:$('img').load(function(){})

除此之外,任何元素都没有load事件,如$(document).load()是错误的写法,不会执行。

load事件需要页面完全加载完才可以触发事件,所谓的完全加载完,指dom结构加载完毕和所有的链接加载完。比如页面中有大量的图片,必须等每一个图片都加载完,才叫完全加载完毕。

不过,load事件跨浏览器兼容性很差,不推荐使用load事件

ready事件则可以加在任意元素上,如$(window).ready(fn),$(document).ready(fn),$('div').ready(fn)等

ready事件不要求等待页面完全加载完,只需要dom结构加载完就可以触发。

ready事件可以同时注册多个,执行时按照事件注册的先后顺序进行。


版权声明:本文为qq_41192335原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。