如一面红色代码,是处理的什么情况。。
请帮说的详细一些!addEvent:function(elem, eventType, handler){
      try{
if(elem.attachEvent) elem.attachEvent("on"+eventType,handler);
else if(elem.addEventListener) elem.addEventListener(eventType,handler,false);
else{
var oldF = eval('d.on'+eventType);
if(typeof oldF!='function') eval('elem.on'+eventType+'=handler');
else eval('elem.on'+eventType)=function(){oldF();handler();}

     }
}
catch(error){}
}

解决方案 »

  1.   

    简单的说就是不会覆盖原有的事件响应
    比如window.onload ,如果直接赋值window.onload=handler;就会覆盖原有的效果
    所以需要var oldF=window.onload; window.onload=function(){oldF();handler();}
      

  2.   

    顶,不过要是原来的事件里面用了this的话就麻烦了
      

  3.   

    上面代码是小弟在智联上找工作时看到它的那个选择时间的觉得不错,就把它的页下来一看了看,,,
    是面向对象模式的写法,,从中学到不少东西,,想请各位帮忙解读一下,,,
    好对此有个宏观上的理解。(觉得现在自己写js只是针对某些小的地方,没有像这样系统的写过,所以想研究一下,希望大家能帮帮忙!)为了方便看效果,小弟又注册了一个号,大家可以上去看一下,
                  地址:http://www.zhaopin.com/
                  用户名:zhiliantest
                 密码:123456
    我把代码放到了CSDN上,希望大家有时间的可以看一下
    http://dl4.csdn.net/fd.php?i=31989392861611&s=d0bd50b87b43eaf9a2c0dd6aca02c806
    现在补充说明一下它的效果还有代码:
    开始年份  ---  开始月份 ---- 结束年份---- 结束月份    (四个文本框)点"开始年份"会出现几组年份,有个向前向后的按钮,可以选择。完成后会自动跳到"开始月份" 会跳出十二个月选择。
    再跳到"结束年份"  接着 "结束月份"。
    实现的效果并不复杂,可是代码写的先系统化。值得学习一下。(特别是像我这样没有这方面经验的!)
    下面说一下代码:
       起主要作用的(上面效果)有myresume_date.js   和  myresume_util.js  两个js(下面会把代码贴出)  
      myresume_date.js   主要负责上述效果
      myresume_util.js    一些工具方法。(如事件绑定)  小弟对myresume_util.js  里面的这句不怎么理解(可能是加载顺序的问题吧)[我想从中学到也的是这些系统化点的知识]   if(!document.readyState) MYRESUME.EventUtils.addEvent(window,'load',function(){if  (document.body.mask&&document.body.mask.maskFlag) document.body.mask.showMask()});还有一点:我并不是只是想研究它这代码,  是想通过它学到一些相关的知识(像js面象对象写法等)
    不冲别的,就冲小弟这么辛苦写贴,希望大家有些耐心,提拔小弟一把。hehe