首页 > JavaScript > window.onload和document.onload那个用的更多?

window.onload和document.onload那个用的更多?

上一篇 下一篇

哪个得到更广泛的支持:或?window.onloaddocument.onload

分割线

网友回答:

他们什么时候开火?

window.onload

  • 默认情况下,当整个页面加载时,包括其内容(图像、CSS、脚本等)时,将触发它。

在某些浏览器中,它现在接管了 的角色,并在 DOM 准备就绪时触发。document.onload

document.onload

  • 当 DOM 准备就绪时调用它,它可以在加载图像和其他外部内容之前调用。

他们的支持程度如何?

window.onload似乎是最广泛支持的。事实上,一些最现代的浏览器在某种意义上已经替换为 .document.onloadwindow.onload

浏览器支持问题很可能是许多人开始使用 jQuery 等库来处理文档是否准备就绪的检查的原因,如下所示:

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

为了历史的目的。 与:window.onloadbody.onload

不久
前,在编码论坛上提出了一个类似的问题,关于 over 的使用。
结果似乎是您应该使用,因为将您的结构与操作分开是
件好事。
window.onloadbody.onloadwindow.onload

分割线

网友回答:

一般的想法是,window.onload 在文档窗口准备好进行演示时触发,document.onloadDOM 树(从文档中的标记代码构建)完成时触发。

理想情况下,订阅 DOM 树事件允许通过 Javascript 进行屏幕外操作,几乎不会产生 CPU 负载。相反,window.onload 可能需要一段时间才能触发,当尚未请求、解析和加载多个外部资源时。

►测试场景:

要观察差异以及您选择的浏览器如何实现上述事件处理程序,只需在文档的 – – 标记中插入以下代码即可。<body>

<script language="javascript">
window.tdiff = []; fred = function(a,b){return a-b;};
window.document.onload = function(e){ 
    console.log("document.onload", e, Date.now() ,window.tdiff,  
    (window.tdiff[0] = Date.now()) && window.tdiff.reduce(fred) ); 
}
window.onload = function(e){ 
    console.log("window.onload", e, Date.now() ,window.tdiff, 
    (window.tdiff[1] = Date.now()) && window.tdiff.reduce(fred) ); 
}
</script>

►结果:

以下是结果行为,Chrome v20(可能还有大多数最新的浏览器)都可以观察到。

  • 无事件。document.onload
  • onload在 内声明时触发两次,在 内声明时触发一次(事件随后充当 )。<body><head>document.onload
  • 计数和操作取决于计数器的状态允许模拟这两种事件行为。
  • 或者,在 HTML- 元素的范围内声明事件处理程序。window.onload<head>

►示例项目:

上面的代码取自该项目的代码库(和)。index.htmlkeyboarder.js


有关窗口对象的事件处理程序列表,请参阅 MDN 文档。

分割线

网友回答:

添加事件侦听器

<script type="text/javascript">
  document.addEventListener("DOMContentLoaded", function(event) {
      /* 
        - Code to execute when only the HTML document is loaded.
        - This doesn't wait for stylesheets, 
          images, and subframes to finish loading. 
      */
  });
</script>

Update March 2017

1 香草 JavaScript

window.addEventListener('load', function() {
    console.log('All assets are loaded')
})

2 jQuery

$(window).on('load', function() {
    console.log('All assets are loaded')
})

祝你好运。

模板简介:该模板名称为【window.onload和document.onload那个用的更多?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 281次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 04-18
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信素材 微信文章 自适应 微信图片 企业网站 html5 微信模板 响应式 单页式简历模板 微信公众平台
您可能会喜欢的其他模板