以下是两个出现在JS文件中的两个,请教了,谢谢.第一个window.onload=window.onresize=function(){if(document.getElementById("mainContent").clientHeight<document.getElementById("left").clientHeight){document.getElementById("mainContent").style.height=document.getElementById("left").offsetHeight-45+"px"}else{document.getElementById("mainContent").style.height>document.getElementById("left").offsetHeight-45+"px"}}第二个function externallinks(){if(!document.getElementsByTagName)return;var anchors=document.getElementsByTagName("a");for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute("href")&&anchor.getAttribute("rel")=="external")anchor.target="_blank"}}window.onload=externallinks;这样的两个使第一个失效了

解决方案 »

  1.   

    把onload的东西写在一个function里不就好了吗
      

  2.   

    或者用dom的事件注册方法注册事件,addEventListener、ie的attachEvent
      

  3.   

    你可以用jQuery,jQuery用ready方法很好的解决了onload事件不能注册多个函数的这个问题,不管你需要执行多少代码,只要用$(document).ready(function(){在这里写你要调用的函数或者javascript语句}),
    再次调用$(document).ready(function(){在这里写你要调用的函数或者javascript语句}),第二次的不会把第一次的覆盖,你可以调用多次,后面都是被追回在前一个之后,onload事件是在页面完全加载包括页面引用的CSS,引用的脚本文件都完全加载后才执行,而jQuery的ready是在页面dom树加载成功后就开始执行,不用等待其它文件都加载进来,比传统的onload效率高一些.
      

  4.   

    function aa(){
    //方法1
    }
    function bb(){
    //方法2
    }
    window.attachEvent("onload",aa);
    window.attachEvent("onload",bb);