首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery - $(document).ready和$(window).load之间有什么区别?

jQuery - $(document).ready和$(window).load之间有什么区别?
EN

Stack Overflow用户
提问于 2011-12-06 07:06:08
回答 7查看 325K关注 0票数 363

之间有什么区别

代码语言:javascript
运行
复制
$(document).ready(function(){
 //my code here
});

代码语言:javascript
运行
复制
$(window).load(function(){
  //my code here
});

我想确保:

代码语言:javascript
运行
复制
$(document).ready(function(){

}) 

代码语言:javascript
运行
复制
$(function(){

}); 

代码语言:javascript
运行
复制
jQuery(document).ready(function(){

});

是一样的。

你能告诉我他们之间有什么不同和相似之处吗?

EN

回答 7

Stack Overflow用户

发布于 2011-12-06 07:15:57

document.ready是一个jQuery事件,它在DOM准备就绪时运行,例如,所有元素都可以找到/使用,但不一定是所有的内容。

window.onload稍后(在最坏的/失败的情况下)在加载映像和这类文件时触发。因此,例如,如果您使用的是图像维数,则通常需要使用此方法。

还请阅读一个相关问题:

$(window).load()和$(document).ready()函数之间的区别

票数 34
EN

Stack Overflow用户

发布于 2013-04-05 11:08:38

这三项职能是相同的:

代码语言:javascript
运行
复制
$(document).ready(function(){

}) 

代码语言:javascript
运行
复制
$(function(){

}); 

代码语言:javascript
运行
复制
jQuery(document).ready(function(){

});

这里,$用于定义jQuery,如$ = jQuery

现在不同的是

  • $(document).ready是在加载DOM时触发的jQuery事件,因此它是在文档结构准备就绪时触发的。
  • $(window).load事件是在加载整个内容之后触发的,比如页面包含图像、css等。
票数 13
EN

Stack Overflow用户

发布于 2011-12-06 07:11:07

来自jQuery API文档

虽然JavaScript提供了在呈现页面时执行代码的load事件,但在所有资产(如图像)都已完全接收之前,不会触发该事件。在大多数情况下,只要完全构建了DOM层次结构,脚本就可以运行。传递给.ready()的处理程序保证在DOM准备好之后执行,因此这通常是附加所有其他事件处理程序和运行其他jQuery代码的最佳位置。当使用依赖CSS样式属性值的脚本时,在引用脚本之前必须引用外部样式表或嵌入样式元素。 如果代码依赖于加载的资产(例如,如果需要图像的维数),则应该将代码放在load事件的处理程序中。

对第二个问题的回答- -

不,只要您没有在无冲突模式下使用jQuery,它们是相同的。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8396407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档