在页面加载完毕后,浏览器会通过 Javascript 为 DOM 元素添加事件。在常规的 Javascript 代码中,通常使用 window.onload 方法,而在 Jquery 中,使用的是 $(document).ready() 方法。$(document).ready() 方法是事件模块中最重要一个函数,可以极大的提高 Web 应用程序的速度。
window.onload与$(document).ready() 存在如下区别:
window.onload | $(document).ready(function(){...}) | $(window).load(function(){...}) | |
执行时间 | 必须等到页面内包括图片的所有元素加载完毕后才能执行 | DOM结构绘制完毕后就执行,不必等到加载完毕 | 在页面所有元素(包括html标签以及引用到得所有图片,Flash等媒体)加载完毕后执行 |
编写个数 | 不能同时编写多个,如果有多个window.onload方法,只会执行一个。 window.onload = function(){ | 可以同时编写多个,并且都可以得到执行
以下两个方法都能执行:
$(document).ready(
function
(){
alert(“Hello World”);
});
$(document).ready(
function
(){
alert(“Hello again”);
});
| 可以同时编写多个,并且都可以得到执行
以下两个方法都能执行:
$(window).load(function() { alert("hello,我是jQuery!"); }); $(window).load(function() { alert("hello,我也是jQuery"); });
|
简写 | 无 | $(function(){}); | |
等价于Window.onload = function (){ // 编写代码 } |
在所有DOM元素加载之前执行的jQuery代码:
<script type="text/javascript">
(function() {
alert("DOM还没加载哦!");
})(jQuery)
</script>