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

找不出错误的原因

<!DOCTYPE html>

<html>

<title>跨浏览器事件兼容</title>

    

</head>

 

<body>  

  

 <h1>JavaScript</h1>  

   

  <p id="con">做为一个Web开发师来说,如果你想提供漂亮的网页、令用户满意的上网体验,JavaScript是必不可少的工具。</p> 

  

  <form>

      

<input type="button"  value="0-0" id="a1" /> 

  

      

</form>


</body>

<script type="text/javascript"> 

       

function a1(){

alert("0-0-00");}

var a2=document.getElementById("a1");

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(a2,'click',a1);

</script>

</html>


提问者:千年污妖王 2016-04-13 21:02

个回答

  • 慕斯6941745
    2016-04-13 21:30:36
    已采纳

    你的eventUtil对象没有声明。所以后边就没法调用eventUtil.addHandler.

    var eventUnil={

        addHandler:function(arg1,arg2,arg3){.....},

    };