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

谁能告诉我为啥没反应呢,加断点后不知道怎么看对错,我也是醉了,--SOS

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>跨浏览器问题</title>
</head>

<body>


<div id="box">
<input type="button"  value="submit1" id="btn1">
<input type="button"  value="submit2" id="btn2">

</div>
<script>
var btn1=document.getElementById('btn1');
var btn2=document.getElementById('btn2');
function showmess(){
    alert('you are my message');
    }
var eventUtil={
    addHandler:function(element,type,handler){
    //DOM2 处理程序的方法
    if(element.addEventListener){
        element.addEventListener(type,handler,false);
        }
        //IE 处理程序方法  
    else if(element.attachEvent){
        element.attachEvent('on'+type,handler);
        }
        //DOM0处理事件程序判断
    else{
        element['on'+type]=handler;//触发handler操作
        }
    }
}


//删除句柄
removeHandler:function(element,type,handler){
    if(element.removeEventListener){
        element.removeEventListener(type,handler,false);
        }
        //IE事件处理程序
    else if(element.detachEvent){
        element.detachEvent('on'+type,handler);
        }
    else{
        element['on'+type]=null;
        }
    }
eventUtil.addHandler(btn2,'click',showmess);
    
</script>


</body>
</html>

提问者:linapursue 2015-05-28 20:08

个回答

  • 鱼儿游啊游
    2015-06-13 15:11:55

    这里面涉及到JSON 命名的问题,去看两眼

  • 奋斗1070012
    2015-05-29 10:15:28

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

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

    function showmess(){

        alert('you are my message');

    }

    var eventUtil={

        addHandler:function(element,type,handler){

    //DOM2 处理程序的方法

    if(element.addEventListener){

    element.addEventListener(type,handler,false);

    }//IE 处理程序方法  

    else if(element.attachEvent){

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

    }

    //DOM0处理事件程序判断

    else{

    element['on'+type]=handler;//触发handler操作

    }

    },

    removeHandler:function(element,type,handler){

    //删除句柄

    if(element.removeEventListener){

    element.removeEventListener(type,handler,false);

    }

    //IE事件处理程序

    else if(element.detachEvent){

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

    }

    else{

    element['on'+type]=null;

    }

    }

    }

    eventUtil.addHandler(btn2,'click',showmess);

  • 伊兮尘昔
    2015-05-29 09:45:38

    removeHandler:function(element,type,handler){  这以及后面写的对吗?

    在浏览器中,你这句话直接就报错了