问答详情
源自:2-4 IE事件处理程序及跨浏览器解决

事件调用兼容问题,为什么不行呢

var eventUtil={

    //添加事件

    addHandler:function(element,type,funName){

        if(element.addEventListener){//DOM2级

            element.addEventListener(type,funName,false);

        } else if(element.attachEvent){//IE浏览器

            element.attachEvent('on'+type,funName);

        }else{//DOM0级

            element['on'+type]=funName;

        }

    }


    //删除事件

   removeHandler:function(element,type,funName){

        if(element.removeEventListener){//DOM2级

            element.removeEventListener(type,funName,false);

        } else if(element.detachEvent){//IE浏览器

            element.detachEvent('on'+type,funName);

        }else{//DOM0级

            element['on'+type]=null;

        }

    }

}


  window.onload=function(){

     var btn = document.getElementById('btn');

    eventUtil.addHandler(btn,'click',show);

    function show(){

      alert('a');

    }; 

  }


提问者:慕粉3629416 2016-07-13 15:10

个回答

  • 不肖生
    2016-07-13 16:18:29

    小毛病,改两个地方,“addEventListener”/“removeEventListener”之后的冒号注意英文格式下,第一个addEventListener方法结束之后大括号外加一个逗号,然后试试。

  • 你来啦米斯郡
    2016-07-13 16:10:28

    添加事件和删除事件之间少了个逗号