浅析document.ready和window.onload的区别讲解

 更新时间:2013年12月18日 14:54:01   作者:  
这篇文章主要介绍了document.ready和window.onload的区别,有需要的朋友可以参考一下

Javascript 只有在DOM元素已经定义以后才可以对其执行某种操作,这个问题在“javascript执行顺序里”https://www.jb51.net/article/44577.htm一文里有详细介绍。

jQuery使用document.ready来保证所要执行的代码是在DOM元素被加载完成的情况下执行。比如在"jQuery基础 - 如何开始"一文里,我用到如下jQuery代码:

复制代码 代码如下:

<!--   $(document).ready(function ()

         {  

          alert("我的第一个jQuery代码!");  

         });  
// -->


这段代码的意思是:当Dom Tree加载完成后,显示警告信息。

document.ready()和传统的方法<body onload=”load()”> 相似,不同的是onload()的方法是在页面加载完成后才发生,这包括DOM元素和其他页面元素(例如图片)的加载,

因此,使用document.ready()方法的执行速度比onload()的方法要快。

最后要注意两点(来自jQuery文档):

1.确保在 <body> 元素的onload事件中没有注册函数,否则可能不会触发$(document).ready()事件。(
我尝试用下面的例子来演示这个情况,但是没有成功,所以我想这种情况只是可能发生。)

复制代码 代码如下:

<html>
<head>
<title>My second jQuery</title>
<mce:script type="text/javascript" src="/js/jquery.js" mce_src="js/jquery.js"></mce:script>
<mce:script type="text/javascript">
<!-- //下面是load的函数含有jquery注册函数$  
function load(){  $("p").append("<b>Hello</b>"); }  
//下面是jQuery的代码  
$(document).ready(function ()
{ $("p").append("我的第一个jQuery代码!"
); 
$("p").append("<b>Hello</b>");  });  // -->
</mce:script>
</head> 
<body onload="load()"> 
<h2>jQuery 简单例子2</h2> 
<p>I would like to say: </p> 
</body>
</html> 

2.可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。

相关文章

  • javascript操作excel生成报表示例

    javascript操作excel生成报表示例

    最近做一个项目,用到javascript操纵excel以生成报表,下面是标有详细注解的实例
    2014-05-05
  • 浅谈JS日期(Date)处理函数

    浅谈JS日期(Date)处理函数

    这篇文章主要整理了一下JS日期(Date)处理函数,算是对自己近期学习javascript的一个小小的总结,这里分享给大家
    2014-12-12
  • 在JavaScript中用getMinutes()方法返回指定的分时刻

    在JavaScript中用getMinutes()方法返回指定的分时刻

    这篇文章主要介绍了在JavaScript中用getMinutes()方法返回指定的分时刻,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • URL编码转换,escape() encodeURI() encodeURIComponent()

    URL编码转换,escape() encodeURI() encodeURIComponent()

    URL编码转换,escape() encodeURI() encodeURIComponent()...
    2006-12-12
  • 浅谈JavaScript面向对象--继承

    浅谈JavaScript面向对象--继承

    这篇文章主要介绍了JavaScript面向对象继承,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • javascript 全等号运算符使用说明

    javascript 全等号运算符使用说明

    看到這样一行代码 if(typeof item === "string" ) ,看见有3个等号以前从没這么写过,可能是我的JS技术还处于初级的原因吧,我去网上查了一些资料网上说這是全等于符号
    2010-05-05
  • 使用 stylelint检查CSS_StyleLint

    使用 stylelint检查CSS_StyleLint

    你需要一个防止错误产生的机器,可以理解CSS并且理解你:你的意图、喜好、主意以及弱点。 只要是它可以阻止的错误它都会持续阻止。同时,你和你的同事可以一直改善机器,扩展它的功能并且削弱其局限性。
    2016-04-04
  • js oncontextmenu事件使用详解

    js oncontextmenu事件使用详解

    这篇文章主要介绍了js oncontextmenu事件使用详解,需要的朋友可以参考下
    2017-03-03
  • JS严格模式知识点总结

    JS严格模式知识点总结

    本篇文章给大家整理了JS严格模式下的相关知识点以及代码实例分享,感兴趣的跟着小编一起学习下吧。
    2018-02-02
  • 让人蛋疼的JavaScript语法特性

    让人蛋疼的JavaScript语法特性

    JavaScript有很多地方和我们熟知的C、Java等的编程习惯不同,这些不同会产生很多让人意想不到的事情。今天我们就来探讨下这些让人蛋疼的语法特性
    2014-09-09

最新评论