<body>中的onload / window.onload事件,与jQuery的$().ready(function(){}) / (function(){}) 方式比较:
1.执行时机
window.onload方法是在网页中的所有的元素(包括元素的所有关联文件:图片、音视频、flash等)都完全加载到浏览器之后才执行。如果页面的这些内容很多会让用户等待很长时间。
jQuery中的$(document).ready()方法注册的事件,只要DOM完全就绪,就可以调用,比如图片只要<img>标签完成,不用等这个图片加载完成,就可以设置图片的宽高的属性或样式等。
可以说:ready 在onload 前加载。
2.函数绑定
window.onload一次只能保存对一个函数的引用,多次绑定函数只会覆盖前面的函数。
或者<body οnlοad="a();b();"></body>
在JQuery中可以利用多个JQuery.Ready()方法,注册不同的事件处理程序,它们会按次序依次执行。
function one(){
alert("one");
}
function two(){
alert("two");
}
window.onload = two ;
window.onload = one ;
// 上面的代码运行后,会弹出“one”。
$(document).ready(function(){
one();
});
$(document).ready(function(){
two();
});
// 上面的代码运行后,会分别弹出“one”和“two”。
JQuery中的$(window).load()方法:
这个方法会等到页面所有内容加载完毕后才会触发,并且同时又没有OnLoad事件的弊端.
<script type="text/javascript">
$(window).load(function() {
alert("one");
});
$(window).load(function() {
alert("two");
});
</script>
// 上面的代码会在页面所有内容加载完成后按先后顺序依次执行.
// 与之对应的Unload方法,会在页面关闭时触发
$(window).unload(function() {
alert("bye bye");
});
建议使用方式:样式控制的,比如图片大小控制,使用$(window).load();
jS事件触发的方法,可以在$(document).ready()里面加载。
使用jQuery,页面加载完成之后执行js函数的几种写法:
$(function(){
});
$(document).ready(function(){
});
// jQuery的默认参数是:“document”;
$().ready(function(){
});
版权声明:本文为u011939453原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。