浅析document.ready和window.onload的区别讲解
浅析document.ready和window.onload的区别讲解
发布时间:2016-12-30 来源:查字典编辑
摘要:Javascript只有在DOM元素已经定义以后才可以对其执行某种操作,这个问题在“javascript执行顺序里”http://www.j...

Javascript 只有在DOM元素已经定义以后才可以对其执行某种操作,这个问题在“javascript执行顺序里”http://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="http://www.jb51.netjs/jquery.js" mce_src="js/jquery.js"></mce:script>

<mce:script type="text/javascript">

<>

</mce:script>

</head>

<body onload="load()">

<h2>jQuery 简单例子2</h2>

<p>I would like to say: </p>

</body>

</html>

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类