doment ready事件和load事件的区别及实现

从2017年9月至今工作中大部分使用react,前端渲染的一些基础性知识记忆不是很深刻了。面试**公司的时候,碰到“document ready和load的区别,以及document ready事件的实现”的笔试题,区别倒是回答出来了,ready事件只回答了readystatechange事件。回答的不是很全面,特在此记录。

document ready: 当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像和子框架的加载完成。
load: window:load event,整个页面已经加载完毕,包括页面依赖的一些资源(样式表、图片等)。Element:load,资源元素例如image标签已经加载完毕

load事件的实现不需要说,可以通过onload事件回调属性和addEventListener(‘load‘, 回调)监听load事件。
document ready事件在jquery里有很完整的实现,在谷歌浏览器中主要是通过document的DOMContentLoaded事件类型配合document.readyState === “complete”做前置检测(有可能添加事件监听的时候,document ready事件已经触发了)。在IE中iframe是通过onreadystatechange,而非iframe还要进一步通过document.documentElement.doscloll

参考来源:

  1. https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
  2. https://github.com/jquery/jquery/blob/1.5b1/src/core.js

原文地址:https://www.cnblogs.com/bellhey/p/11668938.html

时间: 2024-10-12 22:06:15

doment ready事件和load事件的区别及实现的相关文章

2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生

主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序 1.主窗体定义事件 new 主窗体() 构造函数进入主窗体InitializeComponent函数,该函数中有各字框体的new创建语句,因此: 2.依次执行各子窗体InitializeComponent函数 3.主窗体new事件结束后,并不创建任何窗体或子窗体,也就没有任何Load事件发生.直到主窗体Show事件. 4.主窗体Show事件后,顺序执行各子窗体Load事件,注意!!并不是先执行主窗体Load

jQuery的ready与js的load事件的区别

摘自:http://www.cnblogs.com/see7di/archive/2011/07/15/2239677.html 为了理解这两个事件的异同,读者应该先了解HTML文档加载的顺序. DOM文档加载是按顺序执行的,这与浏览器的渲染方式有关系.一般浏览器渲染操作的顺序大致按如下几个步骤来完成.(1) 解析HTML结构.(2) 加载外部脚本和样式表文件.(3) 解析并执行脚本代码.(4) 构造HTML DOM模型.(5) 加载图片等外部文件.(6) 页面加载完毕. 具体说明如下.1. 执

jQuery中ready与load事件的区别

目录: 1ready与load谁先执行 2DOM文档加载的步骤 3ready事件 4load事件 5总结 概述: 大家在工作中用jQuery的时候一定会在使用之前这样: 1 2 3 4 5 6 7 8 //document ready $(document).ready(function(){     ...code... }) //document ready 简写 $(function(){     ...code... }) 有些时候也会这么写: 1 2 3 4 //document lo

原 jQuery中document的ready和load事件的区别?

概述: 大家在工作中用jQuery的时候一定会在使用之前这样: 1 2 3 4 5 6 7 8 //document ready $(document).ready(function(){     ...code... }) //document ready 简写 $(function(){     ...code... }) 有些时候也会这么写: 1 2 3 4 //document load $(document).load(function(){     ...code... }) 一个是

jQuery 的ready事件和 JavaScript 的load事件对比

为了理解2个事件的异同,先了解一下HTML文档加载顺序 HTML DOM文档加载步骤 HTML DOM文档加载是按顺序执行的,这与浏览器的渲染方式有关,一般浏览器渲染操作的顺序大致按如下几个步骤 1, 解析HTML结构 2,加载外部脚本和样式表文件 3,解析并执行脚本代码 4,构造HTML DOM模型 5,加载图片等外部文件 6,页面加载完毕 执行时机 load 事件必须等到页面中所有内容全部加载完毕之后,才被执行,如果一个页面中包含了大数据的多媒体文件,则就会出现页面文档已经呈现出来,二由于网

事件(四):事件类型

事件类型 web浏览器中可能发生的事件有很多类型:UI事件:当用户与页面上的元素交互时触发:焦点事件:当元素获得或失去焦点时触发:鼠标事件:当用户通过鼠标在页面上执行操作时触发:滚轮事件:当使用鼠标滚轮(或类似设备)时触发:文本事件:当在文档中输入文本时触发:键盘事件:当用户通过键盘在页面上执行操作时触发:合成事件:当为IME(input method editor,输入法编辑器)输入字符时触发:变动事件:当底层dom结构发生变化时触发.变动名称事件:当元素或属性名变动时触发.此类事件已经被废弃

jQuery中ready与load事件

jQuery有3种针对文档加载的方法 $(document).ready(function() { // ...代码... }) //document ready 简写 $(function() { // ...代码... }) $(document).load(function() { // ...代码... }) 一个是ready一个是load,这两个到底有什么区别呢? ready与load谁先执行:大家在面试的过程中,经常会被问到一个问题:ready与load那一个先执行,那一个后执行?答

$(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法

$(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法接触JQuery一般最先学到的是何时启动事件.在曾经很长一段时间里,在页面载入后引发的事件都被加载 在”Body”的Onload事件里.对于Body的Onload事件和JQuery的Ready方法相比,有很多弊端.比如:1.加载 多个函数的问题<body ></body>在Onload事件中 只能这样加载,很丑陋…而在JQuery中你可以利用多个JQuery.Ready()

PHP判断图片是否存在和jquery中load事件对图片的处理

在公司的图片服务器中,同一个产品一般会存在对应的大图和缩略图.因此,我们在开发手机端的web网站时,默认使用的是产品图片的缩略图,查询数据库时获取的是缩略图的路径.但是,不知什么原因,时不时的,测试的同事总会找到我们,说产品图片没显示出来,是个bug,需要修改. 那么,问题来了. (1)PHP后台如何判断远程服务器上的图片是否存在 解决思路:获取图片路径-->对图片是否存在进行判断-->不存在,使用大图 /** * @desc 检查远程图片是否存在 * @param string $url 图