`$(window).load(function(){})`和`$(function(){})之间有什么区别?

我正在使用$(window).load(function(){}); 对于我的项目,直到某处我看到有人说我们可以使用$(function(){}); 他们的表现相同。
但是现在我有更多的经验,我注意到他们并不完全相同。 我注意到在第二段代码之后,第一件作品开始了。
我只是想知道有什么区别?

 $(document).ready(function(){}) 

将等到文档加载(加载DOM树),直到加载整个窗口。 例如它不会等待图像,css或javascript完全加载。 一旦DOM加载了所有HTML组件和事件处理程序,文档就可以处理了,然后$(document).ready()将完成

$(window).load(function(){});

这等待加载整个窗口。 加载整个页面时,只完成$(window).load()。 因此很明显$(document).ready(function(){})在$(window).load()之前完成,因为填充组件(如图像,css)需要更多时间才能加载DOM树。

所以$(function(){}); 不能用作$(window).load(function(){});的替代品$(window).load(function(){});

来自jQuery文档本身。

大多数Javascript程序员最终做的第一件事就是在程序中添加一些代码,类似于:

 window.onload = function(){ alert("welcome"); } 

其中包含您希望在加载页面时运行的代码。 但是,问题是,在完成所有图像下载(包括横幅广告)之前,Javascript代码不会运行。 首先使用window.onload的原因是当你第一次尝试运行代码时,HTML’文档’还没有完成加载。

为了避免这两个问题,jQuery有一个简单的语句来检查文档并等待它准备好被操作,称为ready事件:

 $(document).ready(function(){ // Your code here }); 

现在,

$(window).load(function(){}); 等于window.onload = function(){ alert("welcome"); } window.onload = function(){ alert("welcome"); }

并且, $(function(){});$(document).ready(function(){ });的快捷方式$(document).ready(function(){ });

我想,这清除了一切:)

$(window).load从我的经验等待,直到包含图像的所有内容都被加载,然后运行$(function() {});$(document).ready(function() {});具有相同的行为$(document).ready(function() {});

如果我错了,请有人纠正我。

第二个是$(document).ready()的快捷方式,它应该在window的load事件之前运行。

请注意, $(document).ready()是将某些东西绑定到document加载的首选方式; 还有其他一些方法可以像你展示的那样,但这是首选。