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

感觉出现了一个不可思议的问题啊。。。。

var eventUtil = {

//添加句柄:

addHandler:function(element,type,handler){

if(element.addEventListener){

element.addEventListener(type,handler,false);

}else if(element.attachEvent){

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

}else{

element['on'+type] = handler ;

}

}

// 删除句柄:

removeHandler:function(element,type,handler){

if(element.removeEventListener){

element.removeEventListener(type,handler,false);

}else if(element.detachEvent){

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

}else{

element['on'+type] = null ;

}

}

}

eventUtil.addHandler(btn3,'click',showMes);

我明明调的是添加句柄,为啥删除句柄也起作用啊。。。。

提问者:任性不是罪 2016-07-23 19:52

个回答

  • 脑阔疼
    2016-07-26 17:02:47
    已采纳

    var eventUtil = {
    //添加句柄:
    addHandler:function(element,type,handler){
    if(element.addEventListener){
    element.addEventListener(type,handler,false);
    }else if(element.attachEvent){
    element.attachEvent('on' + type,handler);
    }else{
    element['on'+type] = handler ;
    }
    },//逗号添加
    
    //中间需要一个逗号隔开
    
    //	删除句柄:
    removeHandler:function(element,type,handler){
    if(element.removeEventListener){
    element.removeEventListener(type,handler,false);
    }else if(element.detachEvent){
    element.detachEvent('on' + type,handler);
    }else{
    element['on'+type] = null ;
    }
    }
    }
    eventUtil.addHandler(btn3,'click',showMes);


  • 脑阔疼
    2016-07-26 17:00:21

    两个方法中间缺少一个逗号   var eventUtil={ name1 : value1  ,  name2 : value2 ,...  }  类比数组理解

  • 慕后端5261954
    2016-07-23 21:11:12

    同问+1