window.onload vs $(document).ready()

JavaScript的window.onload和jQuery的$(document).ready()方法有什么区别?


答案 1

该事件在加载HTML文档后发生,而该事件稍后发生,当所有内容(例如图像)也已加载时。readyonload

该事件是 DOM 中的标准事件,而该事件特定于 jQuery。该事件的目的是,它应该在文档加载后尽早发生,以便向页面中的元素添加功能的代码不必等待所有内容加载。onloadreadyready


答案 2

window.onload是内置的JavaScript事件,但是由于它的实现在浏览器(Firefox,Internet Explorer 6,Internet Explorer 8和Opera)之间有微妙的怪癖,jQuery提供了,它将这些抽象出来,并在页面的DOM准备就绪后立即触发(不等待图像等)。document.ready

$(document).ready(请注意,它不是 ,这是未定义的)是一个jQuery函数,包装并为以下事件提供一致性document.ready

  • document.ondomcontentready / document.ondomcontentloaded- 加载文档的DOM时触发的newish事件(可能是在加载图像等之前的一段时间);同样,在Internet Explorer和世界其他地区略有不同
  • 和(即使在旧浏览器中也能实现),当整个页面加载(图像,样式等)时触发window.onload