`

事件DOMContentLoaded和load的区别

阅读更多

        事件DOMContentLoaded和load的区别是,触发的时机不一样,先触发DOMContentLoaded事件,后触发load事件。

        DOM文档加载的步骤为:

        1.解析HTML结构。

        2.加载外部脚本和样式表文件。

        3.解析并执行脚本代码。

        4.DOM树构建完成。//DOMContentLoaded

        5.加载图片等外部文件。

        6.页面加载完毕。//load

        在第4步,会触发DOMContentLoaded事件;在第6步,触发load事件。

        用原生js可以这么写:

// 不兼容老的浏览器,兼容写法见[jQuery中ready与load事件](http://www.imooc.com/code/3253),或用jQuery
document.addEventListener("DOMContentLoaded", function() {
   // ...代码...
}, false);

window.addEventListener("load", function() {
    // ...代码...
}, false);

        用jQuery这么写

// DOMContentLoaded
$(document).ready(function() {
    // ...代码...
});

//load
$(document).load(function() {
    // ...代码...
});

        总之,load事件:页面资源全部载入(JS,CSS,图片等全部加载完)触发;ready事件:原生无ready事件,只有DOMContentLoaded事件。jQuery中的ready事件当DOM加载完成触发,此时引用的资源未必已加载完成。所以,ready事件总是先于load事件触发。

分享到:
评论

相关推荐

    jquery中ready()函数执行的时机和window的load事件比较

    jquery的ready()实现的是 DOMContentLoaded 事件,DOMContentLoaded与window load事件的区别 简单的说ready()是在文档加载完成就会触发,此时图片等资源可能还没有完全加载, load是在所有资源都加载完成后才会触发 看...

    Javascript封装DOMContentLoaded事件实例

    最近在写一个Javascript的框架,刚把DOMContentLoaded事件封装好,略带小兴奋,把开发过程中遇到的原理和兼容性问题做篇笔记,省的忘记到处找。 我们在写js代码的时候,一般都会添加[removed]事件,主要是为了在DOM...

    js页面生命周期1

    页面生命周期:DOMContentLoaded,load,beforeunload,unloadHTML 页面的生命周期包含三个重要事件:DOMContentL

    htmlspitter:NodeJS服务器使用Puppeteer从加载的JS吐出HTML

    HTMLSpitter 带有NodeJS服务器的轻量级Docker映像,可使用Puppeteer和Chrome从加载的JS中吐出HTML 图片尺寸 RAM使用 558兆字节 110MB以上 ... domcontentloaded (等待DOMContentLoaded事件) netwo

    fewpjs-document-onload-rcdd_202104_tur_few

    资源及其所有从属资源(包括CSS和JavaScript)完成加载后,将触发load事件 在本课程中,我们将重点介绍DOMContentLoaded 。 为什么DOMContentLoaded很重要? DOMContentLoaded事件是浏览器的内置方法,用于指示何时...

    littlepjs-document-onload-dc-web-120919

    资源及其所有从属资源(包括CSS和JavaScript)完成加载后,将触发load事件 在本课程中,我们将重点介绍DOMContentLoaded 。 为什么DOMContentLoaded很重要? DOMContentLoaded事件是浏览器的内置方法,用于指示何时...

    somepjs-document-onload-dc-web-102819

    资源及其所有从属资源(包括CSS和JavaScript)完成加载后,将触发load事件 在本课程中,我们将重点介绍DOMContentLoaded 。 为什么DOMContentLoaded很重要? DOMContentLoaded事件是浏览器的内置方法,用于指示何时...

    littlepjs-文档-加载-nyc-web-080519

    从基础html完全解析页面的DOM时,将触发DOMContentLoaded事件资源及其所有从属资源(包括CSS和JavaScript)完成加载后,将触发load事件在本课程中,我们将重点介绍DOMContentLoaded 。为什么DOMContentLoaded很重要...

    littlepjs-文档-加载-nyc01-seng-ft-042020

    资源及其所有从属资源(包括CSS和JavaScript)完成加载后,将触发load事件 在本课程中,我们将重点介绍DOMContentLoaded 。 为什么DOMContentLoaded很重要? DOMContentLoaded事件是浏览器的内置方法,用于指示何时...

    angular-img-lazy-load:轻型Angular延迟加载图像指令

    例如“ DOMContentLoaded加载调整大小滚动”或某些选择器单击,而是每50毫秒更新一次imageToLazyLoad数组,并在加载所有图像时加载在Viewport和isVisible中的图像(例如jQuery.is(':visible'))。循环将停止。...

    harmonyos2-loader:使用iframe的资源加载器

    避免延迟load和DOMContentLoaded事件 如果需要,即使在load事件之后也保留脚本执行顺序 基于可重用源代码(工厂字符串)构建持久模块化系统 目前,一个小的loadJSON.js独立助手显示了大部分这些功能: 异步加载 URL ...

    async-loader:异步模块加载器

    异步加载器 用于加载 JavaScript 模块的轻量级异步模块加载器。 依赖关系 没有任何 入门 npm install async-loader --save-dev ... addEventListener ( 'DOMContentLoaded' , function ( ) { AsyncLoader . load

    hiper::rocket:用于性能测试的统计分析工具

    注意: It takes period (m)s to load ... 。 该period表示此测试需要时间。 所以-n上升,期间上升。 不是臭虫 性能计时 键 值 DNS查询时间 domainLookupEnd-domainLookupStart TCP连接时间 connectEnd-...

    slidedown.js:底部下滑模式组件,无依赖性

    addEventListener ( "DOMContentLoaded" , function ( ) { // init slider var slider = new SlideDown ( { trigger : '#trigger' , title : '底部弹出框测试' , closeButtonText : '官兵来了' , onShow : ...

Global site tag (gtag.js) - Google Analytics