为什么window.onload事件发生在$(document).ready之前?

2024-04-18

正如该线程中所述:window.onload 与 $(document).ready() https://stackoverflow.com/questions/3698200/window-onload-vs-document-ready. The window.onload应该晚于$(document).ready()但在这个简单的代码中,日志将显示onload事件是在就绪事件之前执行的吗?我在这里缺少什么?

<!DOCTYPE html>
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>

<body>
  <h1>A Simple Site</h1>
  <script>
    $(document).ready(function() {
      console.log("ready event fired");
    })
     window.onload = function() {
      console.log("onload event fired");
    }
  </script>
</body>

</html>

问题不在于事件的顺序。它使用围绕本机 DOM 事件的 jQuery 包装器。如果你尝试原生DOMContentLoaded你会发现它总是在之前运行window.onload。但是 jQuery 事件$(document).ready几毫秒后DOMContentLoaded,在某些情况下可能是在之后window.onload也是如此,特别是如果页面没有太多需要加载的内容(如下面的代码所示)。这是由于 jQuery 实现造成的延迟。

如果您取消代码中 iframe 的注释,则加载需要一些时间,这会导致window.onload被推迟,所以$(document).ready会先来的。

<!DOCTYPE html>
<html>

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>

<body>
    <h1>A Simple Site</h1>
    <!-- <iframe src="http://stackoverflow.com"></iframe> -->
    <script>
        $(document).ready(function() {
            console.log("jQuery ready");
        })
        
        document.addEventListener("DOMContentLoaded", function(event) {
            console.log("DOM ready");
        });
        
        window.onload = function() {
            console.log("DOM loaded");
        }
    </script>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么window.onload事件发生在$(document).ready之前? 的相关文章

  • 我可以使用 javascript 捕获并保存网页的当前状态吗

    我需要使用 javascript 获取页面的全部内容并将其发送到服务器脚本以保存它 我想在用户使用 AJAX 和其他 javascript 工具对页面进行一些更改后执行此操作 我不想要某些元素的状态 我想基本上获取 body 标记内的所有内
  • 为什么告诉 jQuery 单击我的链接按钮会减慢我的页面速度?

    不知道是不是更新面板的影响 https stackoverflow com questions 31359065 performance deteriorating after async postback scrolling become
  • 将 .Net-Repeater 与 jquery 结合使用

    我有一个中继器 ASP Net
  • 解析 Angular2 中的 xml 以在视图中呈现

    我是否需要解析 xml 以从 xml 获取数据以在 html 中呈现 我目前正在使用获取本地 xml 文件http get请求并在控制台日志中显示 xml 文件中的所有信息 我认为它只是在读取它 问题是如何在angular2中将xml转换为
  • 保护客户端 API 的安全

    我正在为基于 JavaScript 的游戏构建服务器端 API 和客户端库 其中必须确保两个非常重要的功能的安全 用户每次游玩都必须扣款 我们必须确保提交的分数是玩家实际获得的分数 解决第一个问题看起来很简单 在每次游戏开始时 我们都会调用
  • jquery $('id').text 带粗体

    我有一个 jquery 可以更改链接的文本 如下所示 if urlfind gt 0 linkurl text More info 和 HTML a href a 我试图为此链接添加粗体 但添加 b More Info b 让它们在文本本身
  • 如何修复 Eslint 错误“prefer-destructuring”?

    我想像这样缩短 ES6 中的对象文字 const loc this props local 原因是loc foo 比打字容易得多this props local foo 但现在 ESLint 抱怨道 使用对象解构 prefer destru
  • 在 SmartWizard 中后退时跳过验证

    我正在使用 SmartWizard 2 0 link http techlaboratory net products php product smartwizard 并且当用户点击 上一页 按钮或以任何方式在表单中向后移动时 我需要停止验
  • 将数据发送到 parse.com 并更新 Angular $scope

    我正在将数据发送到 parse com 上的类 我想运行此函数并更新 scope无需重新加载视图 创建一个Programme运行下面的函数工作正常 但是有时在创建新程序后不会更新视图 并且需要刷新页面 当调用整个函数时 如底部所示 getP
  • 强制 Javascript 编码风格的工具[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要自动检查不同人编写的javascript源代码的风格 你知道有什么好的工具可以做到这一点吗 与 emacs 集成将是一个优势 先感谢
  • 如何将对象传递给 onclick 事件[重复]

    这个问题在这里已经有答案了 可能的重复 Javascript 循环内的事件处理程序 需要闭包吗 https stackoverflow com questions 341723 event handlers inside a javascr
  • 可选链接不起作用:无法读取未定义的属性“0”[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 为什么可选链在这里不起作用 html userItemModel item priceList 0 sellerUrl
  • 有没有办法在不托管网站的情况下呈现网站并共享它?

    我正在为一个项目创建一个 repl it 网站 问题是我的老师要求不要发布该网站 这意味着我无法使用 repl it 来托管它 我想知道是否有任何方法可以制作可以通过 Google Chrome 查看的网站副本 而无需连接到主机 我有所有的
  • Jquery 手风琴默认不折叠

    我正在使用 bootstrap 提供的折叠插件 这是一个 jquery 简单插件 但是它默认折叠 如何修改以使折叠项默认隐藏 只有当我按下标题时 该项目才会折叠并显示 谢谢 插件的文档 只有几行 所以只需要一分钟 http twitter
  • 为什么 JavaScript 在不同浏览器中不一致?

    在花了无数个小时修复 JS 以使其跨浏览器兼容 主要是 IE 之后 我一直在思考以下问题 Why不是 JavaScript持续的跨浏览器 我的意思是 为什么 JS 不能像 Java 和 Flash 那样好呢 相反 我们必须求助于 jQuer
  • 如何以编程方式移动 OpenLayers Vector?

    API 文档为OpenLayers Feature Vector http dev openlayers org apidocs files OpenLayers Feature Vector js html说 Vector 本身根本没有方
  • 不透明的回复有哪些限制?

    不透明的回应 https fetch spec whatwg org concept filtered response opaque被定义为一部分获取API https fetch spec whatwg org 并表示向远程源发出请求的
  • 展平数组中的对象

    大家好 我从响应中获取了一系列对象 我需要将所有学生对象展平为简单的学生姓名 但不确定如何进行 任何帮助将不胜感激 数组示例 students id 123456 name Student Name active true students
  • Firebug 分析问题:“没有要分析的活动”

    我想用一些 javascript jQuery 尝试一些不同的选项 看看哪个是最快的 但是我无法让分析正常工作 这是我要测试的代码 this keypress function e console profile test retrieve
  • JS 中的展开/休息运算符如何工作? [复制]

    这个问题在这里已经有答案了 我正在努力完全理解扩展 休息运算符在 JS 中的工作原理 我已经阅读了 MDN 文档 但我仍然不完全清楚 我在下面提供了一个示例 我在其中使用了它并且它按预期工作 const users name Samir a

随机推荐

  • 如何在方案中向后打印字符串?

    我知道如果我按照以下方式编写方案代码并输入 单词 a b c 它将以相同的顺序输出列表 您能告诉我是否有一种方法可以以相反的顺序打印出来 例如 列出 c b a 它需要是我以相反顺序打印出来的用户输入 所以 我不能称之为 反向 a b c
  • jquery add方法及实现

    好的 从我之前的帖子中我得到了很多好的反馈 我开始这个问题是为了开始一个新问题并添加我拥有的完整代码 我知道有些事情搞砸了 但这是我的方法和实现 jquery validator addMethod passwordRules functi
  • 使用 Json.net 仅将接口属性序列化为 JSON

    有了这样一个简单的类 接口 public interface IThing string Name get set public class Thing IThing public int Id get set public string
  • enumerateBodiesAlongRayStart 在 Xcode 6 中将“Chance”打印到控制台

    我正在使用 enumerateBodiesAlongRayStart 并且此方法不断地将单词 Chance 打印到我的控制台 有什么办法可以抑制这种情况吗 这是怎么回事 self gameScene physicsWorld enumera
  • std::ignore 用于忽略未使用的变量

    这是一个好的使用方法吗std ignore忽略未使用的变量 假设我有一个这样的函数 void func int i for some reason I don t need i anymore but I cannot change sig
  • MSTest - 如何为 UnitTest 项目初始化 log4net?

    我有一个 Visual Studio 单元测试项目 用于测试 ASP NET MVC 项目 添加程序集级别log4net Config XmlConfiguratorAssemblyInfo cs 的属性不起作用 SO 上的其他人发现他们必
  • 多个参与者,相同的用例 [用例]

    我试图描述一个用例 其中系统内的多个参与者可以执行相同的活动 例如 假设 作为示例 我想要使用 更新客户端 用例 但几个已确定的参与者可以执行此操作 Manager Chief Executive Customer Service Repr
  • 一个单元如何测试基于过程或基于事件的代码部分

    我确信来自这个演示文稿 http www masukomi org talks unit testing talk 2 index xul data slide data txt page2以及网站上的其他评论 我需要学习单元测试 我还意识
  • 将事件发送到特定线程

    我有一种情况 我想要一个线程来处理一些顺序逻辑 该线程有时需要与主线程交互才能更新用户输入 但它应该继续运行 否则不会影响主线程 我希望以事件驱动的方式执行此操作 以便主线程不必为中断而极力控制其他线程 做这个的最好方式是什么 是否有类似于
  • 为什么这个 SwiftUI Picker 代码不起作用?

    Xcode 11 2 1 下面的代码是一个包含两个组件的简单表单 选择器 选择字母 和文本 显示所选字母 代码编译并运行 但是当选择一个字母时 它不会出现在 选定 文本中 此外 第一次 仅 选择一个字母时 Xcode 会显示一个 虚假的 运
  • Graphics2D:在白色上绘制黑色?

    我确信这是一个非常愚蠢的问题 但我找不到答案 我对 Java2D API 没有经验 我正在尝试创建一个图像并将其写入 GIF 或 PNG 并且我希望它在白色背景上使用黑色笔 如果我不设置任何颜色 我会得到黑底白字 如果我使用 setPain
  • 在多级列 pandas 数据框中创建列的更好方法

    假设我有一个 pandas 多层列数据框架df像这样 A B gt first level x y x y gt second level 0 5 5 1 5 1 3 1 4 7 2 1 4 10 20 3 50 8 7 8 如何创建一个新
  • 如何在 Perl 中读取不断更新的文件?

    您好 我想通读一个文件 进入睡眠状态 然后检查是否有新记录写入该文件 如果是 我想处理记录 如果否 则返回睡眠并稍后再次检查 在永远循环中 我以为我可以做这样的事情 但是在它第一次读取文件之后 它似乎永远不会获取添加到文件中的新记录 ope
  • 数据变量没有从 Vue.js 中使用 Vuex 的计算属性的观察者更新

    Fiddle https jsfiddle net mjvu6bn7 https jsfiddle net mjvu6bn7 我有一个计算属性的观察者 它依赖于 Vuex 存储变量 该变量是异步设置的 当这个计算属性发生变化时 我试图设置
  • 如何使用 SVN 和 .NET 以编程方式进行文件版本控制?

    我们有一个报告生成器 每天 它都会将数据写入 Excel 文件 出于版本控制和文件数据安全的原因 我们需要更改此文件 并将更改提交到存储库中 您推荐您使用过的任何 net SVN API 吗 你应该看看SharpSvn http sharp
  • Spring boot 动态查询

    我的网络应用程序中有一个过滤器 允许按车辆类型 品牌 燃料 州和城市进行搜索 但所有这些过滤器都是可选的 我怎样才能使用存储库来做到这一点 控制器类 RequestMapping value vehicle search method Re
  • 为什么 GCC (9.3.0) 中仍然没有实现 `gets_s()`?

    I know fgets 是更常见和广泛的字符串输入选项 但 C11 已经存在 9 年了 为什么是gets s 还失业吗 即使我添加 std c11 它仍然不起作用 尽管gets s 应该在stdio h 因为它是可选的 还有背后的人gcc
  • Bootstrap 手风琴展开/折叠全部无法正常工作

    这是打破这个的过程 单击乐谱 单击全部展开 折叠 单击乐谱 单击全部展开 折叠 再次单击全部展开 折叠 请注意 音乐符号不会重新打开 尽管您应该能够在函数中看到 逻辑表明所有面板都已关闭并且应该打开 为什么 我究竟做错了什么 HTML
  • 使用 TextFinder 搜索范围比搜索整个工作表慢

    我有一张有很多行的表 数千行 我想在特定列中搜索文本 我在用Range createTextFinder但它超时了 如果Sheet只有4行数据 甚至会超时 This is very slow var found sheet getRange
  • 为什么window.onload事件发生在$(document).ready之前?

    正如该线程中所述 window onload 与 document ready https stackoverflow com questions 3698200 window onload vs document ready The wi