我最近在使用 JavaScript 代码时遇到了问题,从我的代码中取出一部分代码$(document).ready()
并将其放入$(window).load()
解决了问题。
现在我明白window.load
是在之后被解雇了document.ready
,但为什么之后还没有准备好document.ready
,那就是之后window.load()
?
我最近在使用 JavaScript 代码时遇到了问题,从我的代码中取出一部分代码$(document).ready()
并将其放入$(window).load()
解决了问题。
现在我明白window.load
是在之后被解雇了document.ready
,但为什么之后还没有准备好document.ready
,那就是之后window.load()
?
load
当所有资产加载完成时调用,包括图像。ready
当 DOM 准备好交互时触发。
从 MDC,window.onload:
load 事件在文档加载过程结束时触发。至此,文档中的所有对象都在DOM中,所有的图片和子框架都已经加载完毕。
来自 jQuery API 文档,.ready( handler ):
虽然 JavaScript 提供了用于在呈现页面时执行代码的 load 事件,但在完全接收到所有资产(例如图像)之前不会触发此事件。在大多数情况下,只要完全构建了 DOM 层次结构,就可以运行脚本。传递给 .ready() 的处理程序保证在 DOM 准备好后执行,因此这通常是附加所有其他事件处理程序和运行其他 jQuery 代码的最佳位置。使用依赖于 CSS 样式属性值的脚本时,在引用脚本之前引用外部样式表或嵌入样式元素非常重要。
$(document).ready()
意味着您的页面的 DOM 已准备好进行操作。
window.load()
当整个页面(包括 CSS 和图像文件等组件)完全加载时触发。
你想达到什么目的?
$(document).ready(function(){
//code here
});
上面的代码几乎每次我们使用jQuery
.
当我们想jQuery
在 DOM 准备好后初始化我们的代码时使用此代码。
$(window).load()
有时您想处理图片。例如,您想要垂直和水平对齐图片,并且您需要获取图片的宽度和高度才能做到这一点。随着$(document).ready()
你将不能够这样做,如果游客不具有已加载的图像,在这种情况下,你需要初始化jquery
当图像完成加载对准功能。这就是我们使用的地方$(window).load()
$(document).ready
是jQuery
加载 DOM 时触发的事件,因此在文档结构准备好时触发。
$(window).load
在加载整个内容(包括 css、图像等)后触发事件。
这是主要区别。
$(document).ready()
将 DOM 包裹在 <body>...</body>
$(window).load()
是文档的爸爸将所有 DOM 包裹在 <html>...</html>
让我们在您的情况下使用来保存渲染处理。