$.ready()事件的实现机制

本文探讨了$.ready()事件的实现机制,讲述了DOM结构的构建过程,包括解析HTML、构建DOM和Render树。介绍了在不同浏览器中绑定DOMContentLoaded事件的方法,如现代浏览器的document.addEventListener和IE的onreadystatechange事件,以及IE9以下版本中利用doScroll方法判断DOM加载完成的技巧。
摘要由CSDN通过智能技术生成

$.ready()事件的实现机制


.ready()用于在document对象上绑定一个ready事件监听函数,当DOM结构加载完成后,监听函数被执行


  1. ready 作用于DOM结构加载完成时,浏览器如何解析前端文件? 因此先了解什么是DOM结构?


    1. 浏览器如何解析文件(这里只大概介绍渲染的流程)
      • 渲染引擎首先通过网络获得所请求文档的内容,通常以8K分块的方式完成。
      • 解析html以构建dom树 -> 构建render树 -> 布局render树 -> 绘制render树
      • 渲染引擎开始解析html,并将标签转化为内容树中的dom节点。接着,它解析外部CSS件及style标签中的样式信息。这些样式信息以及html中的可见性指令将被用来构建另一棵树——render树。
      • render树的主要作用就是把HTML按照一定的布局与样式显示出来
    2. 什么是DOM结构
      DOM把整个页面映射为一个多层节点结构,在解析html文件时,解释器将一个个节点构造为一棵树。节点的基本类型为Node。Docuemnt类型表示整个文档,是一组分层节点的根节点。

  2. 判断DOM树何时加载完毕


    1. 对IE9+和其他浏览器中绑定DOMContentLoaded事件
      document.addEventListener(“DOMContentLoaded”, Fun, false);
    2. 在IE9以下的浏览器绑定onreadystatechange事件。
      document.addEventListener(“onreadystatechan

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值