哪里错了,实在是找不出来了

来源:2-4 IE事件处理程序及跨浏览器解决

沙滩贝壳

2017-05-10 17:00

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf8">
    <title>跨浏览器解决</title>

</head>
<body>
    <div id="box">
        <input type="button" value="按钮1" id="btn1" onclick="showmes()"></input>
        <input type="button" value="按钮2" id="btn2"></input>
        <input type="button" value="按钮3" id="btn3"></input>

    </div>

        <script type="text/javascript">
    //HTML事件处理程序
        function showmes() {
            alert("好好学习");
        };
        //DOM0级事件处理程序
        var btn2=document.getElementById("btn2");
        var btn3=document.getElementById("btn3");    
        btn2.onclick=function(){
            alert("这是通过DOM0级添加的事件");
        }
         //btn2.onclick=null;
         // //DOM2级事件
          
         // //  btn3.addEventListener('click',showmes,false);
         // //  btn3.removeEventListener('click',function(){
         // //      alert("DOM2级移除事件")
         // // },flase);
         // //IE事件处理流
         // btn3.attachEvent('onclick',showmes)
         // btn3.detachEvent('onclick',shoumes)
         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;//element.onclick===element['onclick']
                  }
              }
         }
        eventUtil.addHandler(btn3,'click',showmes)
        </script>

</body>
</html>

写回答 关注

2回答

  • 健身学编程
    2017-05-10 21:56:57
    已采纳

    删除句柄哪个前面没有注释,浏览器以为是JS代码,所以报错,

    //删除句柄     这样就好了。

    沙滩贝壳

    能再问一个问题吗?<meta charset="utf8">。IE浏览器中打开,按钮的上的汉字显示乱码,而且按钮三没反应,而按钮2和按钮1弹出提示框“ni hao”

    2017-05-11 08:55:53

    共 1 条回复 >

  • 沙滩贝壳
    2017-05-11 08:46:36

    能再问一个问题吗?<meta charset="utf8">。IE浏览器中打开,按钮的上的汉字显示乱码,而且按钮三没反应,而按钮2和按钮1弹出提示框“ni  hao”

    沙滩贝壳

    回复 weibo_和谐_汉子_谢谢,刚刚试了一下,还真是这个问题;一直没注意,因为火狐浏览器直接写utf8就行。。。谢谢啦

    2017-05-11 15:14:14

    共 2 条回复 >

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99544 学习 · 1197 问题

查看课程

相似问题