window.onload

window.onload函数用法

平时做项目 经常需要使用window.onload,

但window.onload 不能同时加载多个函数。
比如;

Java代码
  1. function t(){
  2. alert("t")
  3. }
  4. function b(){
  5. alert("b")
  6. }
  7. window.onload =t ;
  8. window.onload =b ;
Java代码 
  1. function t(){
  2. alert("t")
  3. }
  4. function b(){
  5. alert("b")
  6. }
  7. window.onload =t ;
  8. window.onload =b ;
function t(){
  alert("t")
}
function b(){
  alert("b")
}
window.onload =t ;
window.onload =b ;



后面会把前面的覆盖。
上面代码只会输出 b ;

解决方法:
程序代码

Java代码
  1. window.onload =function() { t(); b(); }
Java代码 
  1. window.onload =function() { t(); b(); }
window.onload =function() { t();  b(); }



今天看书的时候学了一个函数,分享给大家:

程序代码

Java代码
  1. function addLoadEvent(func) {
  2. var oldonload = window.onload;
  3. if (typeof window.onload != 'function') {
  4. window.onload = func;
  5. } else {
  6. window.onload = function() {
  7. oldonload();
  8. func();
  9. }
  10. }
  11. }
Java代码 
  1. function addLoadEvent(func) {
  2. var oldonload = window.onload;
  3. if (typeof window.onload != 'function') {
  4. window.onload = func;
  5. } else {
  6. window.onload = function() {
  7. oldonload();
  8. func();
  9. }
  10. }
  11. }
    function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {  
    window.onload = function() {
      oldonload();
      func();
    }
  }
}



具体用法;

程序代码

Java代码
  1. function t(){
  2. alert("t")
  3. }
  4. function b(){
  5. alert("b")
  6. }
  7. function c(){
  8. alert("c")
  9. }
  10. function addLoadEvent(func) {
  11. var oldonload = window.onload;
  12. if (typeof window.onload != 'function') {
  13. window.onload = func;
  14. } else {
  15. window.onload = function() {
  16. oldonload();
  17. func();
  18. }
  19. }
  20. }
  21. addLoadEvent(t);
  22. addLoadEvent(b);
  23. addLoadEvent(c);
Java代码 
  1. function t(){
  2. alert("t")
  3. }
  4. function b(){
  5. alert("b")
  6. }
  7. function c(){
  8. alert("c")
  9. }
  10. function addLoadEvent(func) {
  11. var oldonload = window.onload;
  12. if (typeof window.onload != 'function') {
  13. window.onload = func;
  14. } else {
  15. window.onload = function() {
  16. oldonload();
  17. func();
  18. }
  19. }
  20. }
  21. addLoadEvent(t);
  22. addLoadEvent(b);
  23. addLoadEvent(c);
function t(){
alert("t")
}
function b(){
alert("b")
}
function c(){
alert("c")
}

    function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {  
    window.onload = function() {
      oldonload();
      func();
    }
  }
}


addLoadEvent(t);
addLoadEvent(b);
addLoadEvent(c);



//等价于 window.onload =function() { t(); b(); c() ;}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值