开发者社区> 问答> 正文

javascript addLoadEvent函数为什么在页面加载后调用的函数没有执行

# 函数如下

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


function loadEvents() {
// home
prepareSlideshow();
// about
prepareInternalnav();
// photos
preparePlaceholder();
prepareGallery();
// live
stripeTables();
highlightRows();
displayAbbreviations();
// contact
focusLabels();
prepareForms();
}

// Load events
addLoadEvent(highlightPage);
addLoadEvent(loadEvents);

函数我可以保证没写错,我是在看javasript DOM编程艺术这边书12章编写的时候出的问题,函数没有被执行,我试过火狐断点调试,并没有看出什么错误。。

展开
收起
小旋风柴进 2016-03-19 12:47:44 2749 0
1 条回答
写回答
取消 提交回答
  • 如果我猜的没错,你应该是要实现传统事件绑定的覆盖问题,解决方法将以前存在的相同事件存储起来,然后先执行第一个事件,再执行第二个事件,代码如下:

    window.onload = function(){
        fun();
    };
    
    if(window.onload){
        var saved = null;
        saved = window.onload;
    }
    
    window.onload = function(){
        if(saved) saved();
        fun2();
    };
    2019-07-17 19:08:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载