前面使用ext 其中发现其页面载入时候用了:
Ext.onReady( function_name);

当时并为在意,以为就是和onload 事件是一样的,直到看到下面这篇介绍才了解到实情。

下文转载自:http://www.dojochina.com/index.php?q=node/794

首先我解释一下jQuery
jQuery有一个用来作为DOM快速载入javascript的得心应手的小函数,那就是ready… 他在页面加载完成之前执行。 (也许window.onload()能实现同样的功能,但当window.onload函数执行的时候,要说明所有东西已经载入,包括图像和横幅等等。要知道较大的图片下载速度会比较慢,因此用户必须等待大图片下载完毕才能看到window.onload()执行的代码效果,这样就花费了很长的等待时间,这不是我们想要的。)。
$(document).ready(fn):当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。 简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数.

$(document).ready(function(){
// 你的代码
}); 
       $(document)意思是说,获取整个网页文档对象(类似的于window.document),$(document).ready意思就是说,获取文档对象就绪的时候。 
       上面这段代码的意思是检查文档对象直到它能够允许被操作(译者注:这样做比window.onload()函数要快的多,因为只要文档对象载入完成就能够执行代码了,而不需要等待页面中的图片下载是否已经完成)---这是我们想要的。

好了,jQuery解释到这里。
posted on 2008-10-24 12:57 -274°C 阅读(4862) 评论(1)  编辑  收藏 所属分类: web前端


FeedBack:
# re: js中 onload 的替代
2008-11-24 21:31 | -274°C
记得在用ext grid时候当数据量过大时候,出现过异常。

在IE下当页面还没有完全加载完成时,正在执行的代码中含有document.creatElement的话,很容易引起页面加载失败。记得那次的处理是加入了:

if (document.readyState=="complete")PageInit();
else
{
document.onreadystatechange=function(){
if(document.readyState=="complete")PageInit();
}
}  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

常用链接

留言簿(21)

随笔分类(265)

随笔档案(242)

相册

JAVA网站

关注的Blog

搜索

  •  

积分与排名

  • 积分 - 908974
  • 排名 - 40

最新评论