火狐不支持DOM2级事件处理程序吗?

来源:2-3 DOM2级事件处理程序

我要吃冰激凌

2016-03-16 15:06

为什么我写的程序没反应?

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
 <title>Document</title>
 <style>
  *{margin:0;padding:0;}
     .head{font-size:12px;padding:6px 0 0 10px;}
     #login_box{width:300px;height:150px;background:#eee;
     border:1px solid #ccc;position:absolute;left:50%;top:50%;margin-left:-150px;margin-top:-75px;display:none;}
     #login_box p{height:20px;border-bottom:1px solid #ccc;font-size:12px;padding:6px 0 0 5px;font-weight:bold;}
     #close{width:14px;height:14px;background:url(close.png) no-repeat;position:absolute;right:4px;top:6px;}
 </style>
 <script type="text/javascript">
      window.onload=function(){
       var login_btn=document.getElementById('login'),
           login_box=document.getElementById('login_box'),
           close=document.getElementById('close');
       // 封装添加事件监听程序
        function addEvent(ele,type,hander){
           // 执行代码
           ele.addEventListener(type,hander,false);
       }
        // 显示登录层函数
       function showLogin(){
        // 执行代码
   login_box.style.display='block';
        }
        
   }
        //点击登录按钮显示登录层 
  addEvent(login_btn,'click',showLogin);
        
      
 </script>
</head>
<body>
 <div>亲,您好!<input type="button" value="登 录" id="login"></div>
 <div id="login_box">
  <p>用户登录</p><span id="close"></span>
 </div>
</body>
</html>


写回答 关注

2回答

  • vis_焦虑症
    2016-03-16 16:41:33
    已采纳

    //点击登录按钮显示登录层 

      addEvent(login_btn,'click',showLogin);

    位置不对,括号里面的参数是window.onload=function(){}的局部变量。


    这个要放在window.onload=function(){

    //点击登录按钮显示登录层 

      addEvent(login_btn,'click',showLogin);

    }

    我要吃冰激凌

    非常感谢!

    2016-03-16 18:38:07

    共 1 条回复 >

  • 沫沫523
    2016-03-16 16:58:31

    楼上说的对,执行函数要放在window.onload=function(){}内部才行

DOM事件探秘

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

99545 学习 · 1197 问题

查看课程

相似问题