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

一、

$(function(){ });

特性:

  1. 在DOM加载完毕后执行ready()方法(不包含图片等非文字媒体文件);
  2. 一个页面中可以写多个$(function(){});
  3. 全写: $(docunemt).ready(function(){ });

顺便说一下

(function($){  })(jQuery) 

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

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

二、

window.onload = function () {
}

特性:

  1. 指页面包含图片等文件在内的所有元素都加载完成;
  2. 一个页面中只能使用一次;

对于一些特殊应用,比如图片的放大缩小,图片的剪裁。需要网页所有的内容加载完毕后才执行的呢?我推荐使用 $(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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值