关于$(document).ready():
jquery中的$(document).ready(),那$(document).ready()到底是什么作用呢?是不是可以用window.onload = function(){ ... }来实现呢?
这里,我们要明确二者之间的区别。
我们使用window.onload = function(){ ... },是希望在页面被载入时执行function中的处理,但是这些JS代码只有在页面上的全部内容加载完成(包括头部的banner广告,所有图片)的时候才会执行。将window.onload放在最上边的原因就是当你第一次运行codes的时候,HTML'document'还没有加载完成。
而$(document).ready()却不需要载入得这么“完全”。$(document).ready()是在DOM结构载入完后执行的,而 window.onloal是得在所有文件都加载完后执行的,注意区别,一个是DOM加载完,一个是所有文件加载完。因此,ready肯定在onload 之前发生,页面加载大或者多的图片而使onload执行延后,使用jquery的ready可缓解此问题。
我们应该紧记,jquery的ready是指在页面的DOM模型加载完后执行指定的函数。之所以经常用$(document).ready()来取代 window.onload,就是因为它是在dom模型加载完成后就执行,而window.onload是在dom元素加载完全后才执行。
B.关于document.onload和window.onload:
document.onload和window.onload没有本质的区别,都是指页面载入完成后执行指定函数。
做一个比较吧:
window .onload =function (){alert ("welcome");}
$(document).ready(
function (){
alert ("thanks for visiting!");
}
);
运行后你会发现 $(document).ready()先执行。
这里有篇文章专门讨论: Application Events 文章标题ASP.NET AJAX In-Depth: Application Events
http://www.stephenwalther.com/blog/archive/2008/03/07/asp-net-ajax-in-depth-application-events.aspx