load、$(document).ready、DOMContentLoaded的区别

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: load、$(document).ready、DOMContentLoaded的区别

load$(document).readyDOMContentLoaded 是用于处理页面加载和文档准备就绪的事件和方法。它们有以下区别:

  1. load 事件:load 事件在整个页面及其所有外部资源(如图像、样式表、脚本等)都加载完成后触发。可以通过 JavaScript 或 jQuery 来监听 load 事件,例如:

    window.addEventListener('load', function() {
         
      // 页面和所有资源加载完成后执行的代码
    });
    
    $(window).on('load', function() {
         
      // 页面和所有资源加载完成后执行的代码
    });
    

    load 事件适用于在页面完全加载后执行一些操作,例如处理图像的尺寸、启动动画效果等。

  2. $(document).ready(又称为 jQuery 的 DOM 就绪事件):$(document).ready 是 jQuery 提供的方法,它在文档结构准备完毕并可以操作时触发。它表示 DOM 已经解析完毕,但可能仍在等待外部资源的加载完成。可以使用以下方式监听 $(document).ready 事件:

    $(document).ready(function() {
         
      // DOM 准备就绪后执行的代码
    });
    

    或者使用简化的写法:

    $(function() {
         
      // DOM 准备就绪后执行的代码
    });
    

    $(document).ready 事件适用于在 DOM 解析完毕后执行一些操作,例如绑定事件处理程序、修改 DOM 元素等。需要注意的是,现代版本的 jQuery 已经对 $(document).ready 进行了优化,使其在大多数情况下不再需要显式调用。

  3. DOMContentLoaded 事件:DOMContentLoaded 事件是原生 JavaScript 提供的事件,当整个 HTML 文档被解析并转化为 DOM 树时触发。可以使用以下方式监听 DOMContentLoaded 事件:

    document.addEventListener('DOMContentLoaded', function() {
         
      // DOM 准备就绪后执行的代码
    });
    

    DOMContentLoaded 事件与 $(document).ready 事件类似,表示 DOM 结构已经准备好,可以进行操作。但与 $(document).ready 不同,DOMContentLoaded 是原生 JavaScript 的事件,不依赖于任何库或框架。

总结来说,load 事件在整个页面和资源加载完成后触发,$(document).ready 事件在 DOM 结构准备就绪后触发(使用 jQuery),而 DOMContentLoaded 事件在 DOM 解析完成后触发(原生 JavaScript)。

注意:在使用 load 事件或 $(document).ready 事件时,确保它们在实际需要时才被触发,以避免不必要的延迟。而 DOMContentLoaded 事件是一个原生事件,无需担心触发时机的问题。

相关文章
|
3月前
|
JavaScript
document load 和 document ready 有什么区别
document load 和 document ready 有什么区别
73 0
|
2月前
|
JavaScript 前端开发
document load 和 document ready 的区别
document load 和 document ready 的区别
|
3月前
|
JavaScript 前端开发 UED
深入理解 Document Load 和 Document Ready 的区别
深入理解 Document Load 和 Document Ready 的区别
47 0
|
3月前
|
JavaScript 前端开发
$(document).ready()方法和window.onload有什么区别?
$(document).ready()方法和window.onload有什么区别?
35 0
|
Web App开发 JavaScript 前端开发
页面生命周期:DOMContentLoaded,load,beforeunload,unload
页面生命周期:DOMContentLoaded,load,beforeunload,unload
204 0
页面生命周期:DOMContentLoaded,load,beforeunload,unload
|
前端开发
前端面试题:1.页面加载完成(onload)之前触发的事件;2.History,Location,Window,Navigation的区别;3.e.target和e.currentTarget的区别
★Navagator:提供有关浏览器的信息 ★Window: Window对象处于对象层次的最顶层, 它提供了处理Navagator窗口的方法和属性 ★Location:提供了与当前打开的URL-工作的方 法和属性,是一个静态的对象 ★History:提供了与历史清单有关的信息 ★Document:包含与文档元素一起工作的对象,它将这些元素封装起来供编程人员使用
245 0
|
JavaScript
Dom onload和jQuery document ready的区别
Dom onload和jQuery document ready的区别
Dom onload和jQuery document ready的区别
|
JavaScript
HTML里Dom onload和jQuery document ready这两个事件的区别
HTML里Dom onload和jQuery document ready这两个事件的区别
119 0
HTML里Dom onload和jQuery document ready这两个事件的区别