求大家帮我找错误,跨浏览器事件处理只能实现IE,谷歌上没反应
<!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> <input type="button" id="btn1" value="按钮1" onclick="showMessage()"/> <input type="button" id="btn2" value="按钮2" /> <input type="button" id="btn3" value="按钮3" /> <input type="button" id="btn4" value="按钮4" /> <input type="button" id="btn5" value="按钮5" /> </div> <script type="text/javascript"> function showMessage(){ alert("第一种事件处理程序:HTML事件处理程序"); } var btn2=document.getElementById('btn2'); btn2.onclick=function(){ alert("第二种事件处理程序:DOM0级事件处理程序"); } //btn2.onclick=null;//删除事件 function showMs(){ alert("第三种事件处理程序:DOM2级事件处理程序"); } var btn3=document.getElementById('btn3'); btn3.addEventListener('click',showMs,false); btn3.addEventListener('click',function(){ alert(this.value); },false); //btn3.removeEventListener('click',showMs,false);//删除事件 var btn4=document.getElementById('btn4'); function showMsg(){ alert("第四种事件处理程序:IE事件处理程序"); }//对谷歌浏览器无效 btn4.attachEvent('onclick',showMsg); btn4.detachEvent('onclick',showMsg); //跨浏览器事件处理程序,用封装的方法 //按钮5的JavaScript代码如下: var btn5=document.getElementById('btn5'); function show(){ alert("第五种事件处理程序:跨浏览器事件处理程序"); } var EventUtill={ //添加句柄 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; } } } EventUtill.addHandler(btn5,'click',show); </script> </body> </html>
这是我的全部代码,出问题的代码在最后的部分,按钮5的事件实现不了。但是看不出错在哪里,IE上点击按钮5可以,chrome上不行,求查错!