`

谈谈document.ready和window.onload的区别

 
阅读更多

     在JQuery中,我们可以看到有两种写法:$(function(){})$(document).ready(function(){})

这两个方法效果一样,都是在dom文档树加载完之后执行的一个函数(这里的dom文档树,并不代表全部文件加载完)。

    而window.onload是在dom文档树和所有文件加载完之后执行的一个函数。所以,$(document).ready(function(){})是比window.onload先执行。

 

     我们来看下JQuery内部,$(document).ready(function(){})是如何实现的:

 

    document.ready=function(callback){

        //兼容FF,Google

        if(document.addEventListener){

            document.addEventListener('DOMContentLoaded',function(){

                document.removeEventListener('DOMContentLoaded',arguments.callee,false);

                callback();

            },false)

         //兼容IE

        }else if(document.attachEvent){

            document.attachEvent('onreadystatechange',function(){

                if(document.readyState=="complete"){

                    document.detachEvent("onreadystatechange",arguments.callee);

                    callback();

                }

            })

        }else if(document.lastChild==document.body){

            callback();

        }

    }

 

document.ready  函数实现了,下面来验证两个函数哪个先执行:

window.onload=function(){

        alert('onload');

    };

    document.ready(function(){

        alert('ready');

 

    })

 

执行之后,会发现先弹出 ready 再弹出 onload。

 

转载自:http://www.cnblogs.com/a546558309/p/3478344.html

 

分享到:
评论

相关推荐

    document.ready和window.onload.docx

    windows

    jQuery(document).ready(function($) { });的几种表示方法

    总结来说,`jQuery(document).ready()`提供了一种灵活且高效的处理DOM就绪的方式,而`window.onload()`和`body.onload`更适用于需要等待整个页面加载的场景。理解这些不同方法的用法和区别,可以帮助开发者更有效地...

    浅析document.ready和[removed]的区别讲解

    本文将深入探讨`document.ready`和`window.onload`这两个事件的区别。 `document.ready`是jQuery库提供的一种方法,它的全称是`$(document).ready()`,它的主要作用是在DOM结构构建完成,但图像或其他资源可能尚未...

    jquery的$(document).ready()和onload的加载顺序

    在JavaScript和jQuery的世界里,了解`$...理解`$(document).ready()`和`window.onload`的区别以及它们在不同浏览器中的行为,可以帮助开发者编写更稳定、兼容性更好的代码,减少由于加载顺序问题导致的用户体验问题。

    全面解析jQuery $(document).ready()和JavaScript onload事件

    在描述中提到,$(document).ready()仅执行一次,并且它和JavaScript的onload事件有着本质的区别。$(document).ready()只关注DOM元素是否已加载,而不是整个页面所有资源都加载完毕。这个方法非常适合用来初始化页面...

    $(document).ready(function() {})不执行初始化脚本

    3. 如果可能,尝试将`$(document).ready()`中的代码移至`window.onload`事件中,看看是否能正常执行,以确定问题是否与DOM加载有关。 4. 如果有多个库在使用`$`,考虑使用`jQuery.noConflict()`来避免冲突。 通过...

    jQuery mobile在页面加载时添加加载中效果 document.ready 和[removed]执行顺序比较

    本文主要讲述了在jQuery Mobile环境下,如何在页面加载过程中添加加载中效果,并比较了页面加载事件`document.ready`和`window.onload`的执行顺序。同时提供了一些示例代码来展示如何实现这一效果。 首先,了解...

    jQuery之$(document).ready()使用介绍

    $(document).ready()不同于window.onload。window.onload是在整个页面(包括所有的依赖资源如图片、样式表等)加载完成后才会执行。它更适合用于执行依赖于外部资源完全加载的任务,例如计算页面元素的尺寸。 #### ...

    jquery $(document).ready()和[removed]的区别浅析

    两者的用法在很多情况下非常相似,但它们之间也存在一些关键的区别,以下就是$(document).ready()和window.onload的区别浅析。 1. 执行时间上的区别 $(document).ready()方法仅需要DOM元素全部加载完成即可执行,这...

    JQ中$(window).load和$(document).ready区别与执行顺序

    在JavaScript和jQuery中,`$(document).ready()`和`$(window).load()`是两种常见的事件绑定函数,它们分别用于在不同的页面加载阶段执行相应的代码。理解它们的区别和执行顺序对于优化网页性能和确保脚本正确运行至...

    一张表格告诉你windows.onload()与$(document).ready()的区别

    在JavaScript和jQuery中,`window.onload()` 和 `$(document).ready()` 都是用于处理页面加载事件的关键函数,但它们的执行时机和用法存在显著差异。了解这些区别对于优化前端性能和确保代码正确执行至关重要。 1. ...

    [removed]与$(document).ready()的区别分析

    在JavaScript和jQuery的世界里,`window.onload` 和 `$(document).ready()` 都是用来确保页面内容加载后执行特定脚本的事件,但它们之间存在一些关键的区别。理解这些差异对于编写高效、响应式的网页至关重要。 ...

    用javascript实现jquery的document.ready功能的实现代码

    在使用jQuery时,我们通常使用`$(document).ready()`方法来确保在文档完全加载到浏览器后执行代码。这是一个非常有用的功能,因为它允许开发者确保在操作DOM元素之前,这些元素已经完全可用。 然而,了解如何用纯...

    JQuery下关于$.Ready()的分析

    $(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法 接触JQuery一般最先学到的是何时启动事件。在曾经很长一段时间里,在页面载入后引发的事件都被加载在”Body”的Onload事件里. 对于Body的Onload事件...

    JQ ready()和onload的加载耗时

    `$(document).ready()`与`window.onload`的主要区别在于执行时机。`ready`更早,它允许更快地访问和操作DOM,提高用户体验。而`onload`则确保了所有资源加载完毕,适用于那些依赖所有资源的场景,如图片计数、页面...

    jquery中的$(document).ready()使用小结

    jQuery是目前使用最为广泛的JavaScript库之一,它简化了HTML文档遍历、事件处理、动画和Ajax交互等操作。...在实际开发中,合理使用$(document).ready()可以有效地提高代码的执行效率和页面的响应速度。

    实现在HTML页面加载完毕后运行js方法.docx

    `window.onload` 事件和 `$(document).ready()` 方法的主要区别在于执行的时机。`window.onload` 事件是在页面中的所有元素都已经加载完毕后触发的,而 `$(document).ready()` 方法是在 DOM 加载完毕后执行的,虽然...

Global site tag (gtag.js) - Google Analytics