您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

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

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了document.ready和window.onload的区别,有需要的朋友可以参考一下

Javascript 只有在DOM元素已经定义以后才可以对其执行某种操作。   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()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。