jquery - `$(window).load(function(){})` 和 `$(function(){})` 有什么区别

标签 jquery dom window-load

我在我的项目中使用 $(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(){}); 的替代品

关于jquery - `$(window).load(function(){})` 和 `$(function(){})` 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10933501/

相关文章:

javascript - jQuery Isotope - Ajax 页面加载和初始化

html - CSS :before content - Use image and add wrapping

javascript - 如何在window.load之前获取计算出的CSS样式?

javascript - 正则表达式正负十进制数,逗号分隔

javascript - 如何根据使用 javascript 单击的按钮查找数据类型?

javascript - 单击与 Javascript 具有相同类名的类按钮

javascript - 在 svg 元素上设置自定义属性 (Raphael)

javascript - $(window).on ("load") 在 postRender 中未触发

javascript - jQuery 无法识别第二页上的 li 项目的点击

javascript - jQuery.validation add 生日年龄验证时出现方法错误