[js] document的load 和ready有什么区别?

haizhilin2013
2019-06-08 01:15:08 星期六
js
                    
                        
document的load 和ready有什么区别?
Comments per page
< Page 1 / 1 >
Amour1688 2019-06-10 05:04:03

window.onload

  • 在页面资源(比如图片和媒体资源,它们的加载速度远慢于DOM的加载速度)加载完成之后才执行

document.onload

  • DOM加载完执行
myprelude 2019-06-13 03:36:30

主要执行顺序的区别,load:页面资源加载完成; ready:是dom加载完成。

一般我们都在js脚本都写在onload 保证dom节点都能获取。但是有时只需要dom节点加载完成就执行代码,提前执行js脚本就可放到ready里面 jQuery也为此提供了onReady方法

kruzabc 2020-01-02 10:20:37

并没有 document.onload的写法。

只有如下的写法:

document.addEventListener('DOMContentLoaded',function () {
        alert(1)
});

window.onload = function () {
        alert(2)
}

分别是dom加载完成, 和 页面资源加载完成(当阻塞资源与非阻塞资源全部加载完才会触发)

显然 window.onload 是比较DOMContentLoaded 要晚触发的。

xuxihua 2020-01-15 08:31:22

document ready
语法

$(document).ready(function(){})
// 或者简写
$(function(){})

document load == window.onload
语法

$(document).load(function(){})
// 原生js
window.onload = function() {}

dom文档执行顺序:

  1. 解析HTML结构
  2. 加载外部脚本和样式表文件
  3. 解析并执行脚本代码
  4. 构建html dom模型 // ready
  5. 加载图片等外部文件
  6. 页面加载完毕 // load
laboonly 2020-09-10 14:34:50

在所有资源完成加载时调用load,包括图像。在DOM准备好进行交互时被触发ready。

从MDN中,window.onload:

加载事件在文档加载过程结束时触发。此时,文档中的所有对象都在DOM中,并且所有图像和子帧都已完成加载。

从jQuery API文档中.ready(处理程序):

尽管JavaScript在呈现页面时提供了用于执行代码的加载事件,但直到所有资产(如图像)都已完全收到后才会触发此事件。在大多数情况下,脚本可以在DOM层次结构完全构建后立即运行。传递给.ready()的处理程序保证在DOM准备就绪后执行,因此这通常是附加所有其他事件处理程序并运行其他jQuery代码的最佳位置。在使用依赖CSS样式属性值的脚本时,在引用脚本之前引用外部样式表或嵌入样式元素很重要。

smile-2008 2020-11-20 05:31:12

主要执行顺序的区别,load:页面资源加载完成; ready:是dom加载完成。

一般我们都在js脚本都写在onload 保证dom节点都能获取。但是有时只需要dom节点加载完成就执行代码,提前执行js脚本就可放到ready里面 jQuery也为此提供了onReady方法

xiaoqiangz 2022-06-08 03:11:59

onready 是 dom加载完成时触发
onload 是页面所有元素加载完成时触发
onload在onready之后

Comments per page
< Page 1 / 1 >
排行榜
今日答题答题排行
    未答的题
    更多>
      【关注作者公众号】 以面试驱动学习--前端剑解
      【公众号推荐】 不折腾的前端和咸鱼有什么区别

      学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!

      【关注官方公众号】 每天4:30-5:00推送
      【公众号推荐】 一起折腾前端算法
      【微信学习群】 备注3+1