您的位置:首页 > 其它

$(function(){})与window.onload=function(){}的区别

2016-01-19 11:20 344 查看

一、

$(function(){ });


特性:

在DOM加载完毕后执行ready()方法(不包含图片等非文字媒体文件);

一个页面中可以写多个$(function(){});

全写: $(docunemt).ready(function(){ });

顺便说一下

(function($){  })(jQuery)


上面的写法是: 立即执行匿名函数()(param),只不过参数是jQuery对象。

等价于:

var a = function(params){ };
a(jQuery);


二、

window.onload = function () {
}


特性:

指页面包含图片等文件在内的所有元素都加载完成;

一个页面中只能使用一次;

对于一些特殊应用,比如图片的放大缩小,图片的剪裁。需要网页所有的内容加载完毕后才执行的呢?我推荐使用 $(window).load() 方法,这 个方法会等到页面所有内容加载完毕后才会触发,并且同时又没有onload事件的弊端.

<script type="text/javascript">
$(window).load(function() {
alert("hello");
});
$(window).load(function() {
alert("hello again");
});
</script>


上面的代码会在页面所有内容加载完成后按先后顺序依次执行.

之对应的 unload 方法

$(window).unload(function() {
alert("good bye");
});


上面代码会在页面关闭时引发.

由于load事件平时很少用,看了下jQuery源码中有这样一段代码:

// Keep a copy of the old load method
var _load = jQuery.fn.load;


参考来源:http://blog.sina.com.cn/s/blog_816730ea0101dmxz.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: