什么是()函数({}).load(函数(){})`和`$之间`$(窗口)的区别`(What'

2019-06-25 06:58发布

我使用$(window).load(function(){}); 为我的项目,直到某个地方,我看到有人说,我们可以只使用$(function(){}); 他们会执行相同。
但现在,我有更多的经验,我发现他们是不相同的。 我注意到,第一块,第二块的代码后踢一点点。
我只是想知道有什么区别?

Answer 1:

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

会等到该文件被加载(DOM树加载),而不是直到加载整个窗口。 例如它不会等待图片,CSS或JavaScript被完全加载。 一旦DOM加载所有的HTML组件和事件处理程序的文件已准备好进行处理,然后$(文件)。就绪()将完成

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

这也是在等待要加载整个窗口。 当整个页面加载则仅$(窗口).load()完成。 因此,很明显的$(document)。就绪(函数(){})结束之前$(窗口).load(),因为填充的组件(如图像,CSS)需要更多的时间,那么只需加载DOM树。

所以$(function(){}); 不能被用作一个替代$(window).load(function(){});



Answer 2:

从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(){ });

我认为,这将清除一切:)



Answer 3:

$(window).load从我的经验,等到一切,包括图像运行的位置为之前加载$(function() {}); 具有相同的行为$(document).ready(function() {});

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



Answer 4:

第二个是/是为一个快捷方式$(document).ready()其之前应该运行window的加载事件。

需要注意的是$(document).ready()是结合东西的首选方式document负荷; 有做它像一个你表现出一对夫妇的其他方式,但首选。



文章来源: What's the difference between `$(window).load(function(){})` and `$(function(){})`