引子:
今天写一个小的demo,中间要用jq获取一个动态图片的高度,测试了好多次都是得到一个固定的数字,还是错的,除非我把图片的高度限制死了,才能得到准确的数据。各种尝试一直没有找到问题,最后才发现是$(document).ready()方法与window.onload方法的执行机制上的区别。
$(document).ready()与window.onload的区别
2.window.onload只能编写一次,后面的会把前面的覆盖掉。而$(document).ready()能同时编写多个。
3.$(document).ready()有简写的方法$().
window.onload
例子:有一个大型的图片网站,为网站中的图片添加行为,例如点击后隐藏,用js的window.onload方法来处理,那么用户就必须等网站中的所有图片下载完毕才能操作,而用jq中的$(document).ready()方法来进行设置,只要DOM就绪就可以操作了,不需要等所有图片下载完毕。但是此时如果你用jq来获取与图片有关的HTML数据,由于图片未完全加载完毕,可能获取到的宽度和高度不一定有效。