我最近遇到了我的JavaScript代码问题,并从我的代码中取出了一部分代码$(document).ready(),并将其放在$(window).load()解决该问题的位置。
$(document).ready()
$(window).load()
现在我明白了window.load刚刚解雇后document.ready,但它为什么没有准备好后document.ready,即后window.load()?
window.load
document.ready
window.load()
load当所有资产(包括图像)加载完成时,会调用。ready当DOM准备进行交互时会触发。
load
ready
在MDC中, window.onload :
加载事件在文档加载过程结束时触发。此时,文档中的所有对象都在DOM中,并且所有图像和子帧均已完成加载。
从jQuery API文档 .ready(handler) :
尽管JavaScript提供了呈现页面时执行代码的load事件,但是只有在完全接收到所有资产(例如图像)之后,才会触发此事件。在大多数情况下,可以在完全构建DOM层次结构后立即运行脚本。确保传递给.ready()的处理程序将在DOM准备就绪后执行,因此通常这是附加所有其他事件处理程序并运行其他jQuery代码的最佳位置。使用依赖CSS样式属性值的脚本时,在引用脚本之前,请先引用外部样式表或嵌入样式元素,这一点很重要。