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

为什么我的代码浏览器一刷新就会弹出警告框?

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>handler</title>
    <script type="text/javascript">
        function showWord(){
          alert("hello world!")
        }
        var mybtn=document.getElementsByClassName('btn')[0];
        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;
            }
          }
        }
        eventUtil.addHandler(mybtn,'click',showWord())
  </script>
</head>
<body>
  <input type="button" value="try"  />

</body>
</html>


提问者:马不理 2016-03-30 20:52

个回答

  • qq_沃步福_0
    2016-04-08 21:08:41
    已采纳

    改为  eventUtil.addHandler(mybtn,'click',showWord) 就OK了!

    如果直接写showWord()就是直接调用,而showWord是在事件触发一后系统帮你调用的。所以应该写showWord

  • 慕移动6488646
    2016-03-30 21:31:11

    因为你的警告框写在最上面,浏览器还没获取到你的html代码,就开始解析你的js部分了