为什么我的刷新一次会出现提示框,按钮3不起作用,哪里写错了啊?

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

Mr_国产青年Javency

2017-02-23 16:23

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
</head>
<body>
   <div id="box">
      <input type="button" value="按钮" id="btn" onclick="alert('hello')">
       <input type="button" value="按钮2" id="btn2">
       <input type="button" value="按钮3" id="btn3">
   </div>
   <script>
       //DOM0事件
function  showMes(){
           alert('hello world!');
       }
       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.addEventListener('click',function(){
           alert(this.value);
       },false);
       //删除事件
       btn3.removeEventListener('click',showMes,false);*/

       //跨浏览器事件处理程序
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());
   </script>
</body>
</html>

写回答 关注

3回答

  • Mr_国产青年Javency
    2017-02-24 12:27:14

    我明白了  是if判断的监听事件不能加括号  因为那是判断属性  不是方法

  • snake先森
    2017-02-23 22:26:09

    最后的showMes()把括号去掉???

  • 63315165
    2017-02-23 22:10:19

    eventUtil.addHandler(btn3,'click',showMes()); 改为:eventUtil.addHandler(btn3,'click',showMes);

DOM事件探秘

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

99545 学习 · 1197 问题

查看课程

相似问题