addLoadEvent共享onload事件

问题
如何实现在页面加载完毕时执行多个函数,且都把它们绑定到window.onload事件

1、方法一:
创建一个匿名函数来容纳这多个函数,然后把那个匿名函数绑定到onload事件上。如下所示:

window.onload=function(){
    firstfun();
    secondfun();
}

2、方法二:
创建一个可以动态添加函数到onload事件的函数。
思路:
①把现有的window.onload事件处理的函数存入变量oldonload.
②如果window.onload事件上没有绑定任何函数,将新函数fun直接绑定到window.onload事件上
③如果window.onload事件上已经绑定了一些函数,将一个匿名函数绑定到window.onload事件上。在匿名函数中执行oldonload,并在末尾追加新函数fun。

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

参考文献:
JavaScript DOM 编程艺术(第2版)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Nul...
    极乐君阅读 10,978评论 0 106
  • HTML HTML5标签 媒体查询head部分写法 Doctype作用? 严格模式与混杂模式如何区分?它们有何意义...
    Mayo_阅读 3,856评论 0 8
  • 9月10日 雨 今天很累,凌晨两点醒了再也没睡着。等到四点起床收拾去青岛给孩子看病。还好没大碍。如意以前不晕车...
    如意and奕茹阅读 767评论 0 0
  • 春雨中的故乡 文/布衣 昨夜,窗外 淅淅沥沥 春雨在梦中 翻出了 我的所有记忆 朦胧中 我似乎听到母亲的声音 为我...
    布衣诗人柏廷文阅读 2,934评论 1 0
  • 时光骗了我和你 说什么在一起 却只是 在梦里 一眼望穿 朗朗的天底 任我四处寻觅 找不见你一丝痕迹 滑落泪滴 一腿...
    赵艳宅阅读 1,566评论 0 0