为了账号安全,请及时绑定邮箱和手机立即绑定

onmouseover事件触发的疑惑?

http://www.imooc.com/video/2879/0

这节课4分14秒的代码,明明”分享“已经在父盒子div1之外了,将div1绑定onmouseover事件后,为什么鼠标移动到”分享“上仍然可以触发??而类似的下面的这段代码却无法触发alert指令??

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
  <style type="text/css">
  *{
   margin: 0;
   padding: 0;
  }
   .container #share{
    width: 20px;
    height: 50px;
    background: blue;
    position: absolute;
    left:200px;
    top:75px;
   }
   .container{
    width: 200px;
    height: 200px;
    background: red;
    position: relative;
    left: -200px;
    top: 0px;
   }
  </style>
  <script type="text/javascript">
   window.onload=function (){
    var container = document.getElementsByClassName('container')
    container.onmouseover= function (){
     startMove();     
    }
   }
   function startMove(){
    alert(123);
   }
  </script>
 </head>
 <body>
  <div class="container">
   <span id="share">
    分享
   </span>
  </div>
 </body>
</html>

 

正在回答

2 回答

 class不是惟一的,所以getElementsByClassName得到的是一个类似数组的对象,不是div。

在你原来的代码基础上可以这样 var container = document.getElementsByClassName('container')[0];

个人觉得还是用id来获取比较好吧

2 回复 有任何疑惑可以回复我~
#1

慕粉3775934 提问者

非常感谢谢谢谢谢!明白了,还是用ID靠谱啊
2016-10-13 回复 有任何疑惑可以回复我~

冒泡了吧

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

onmouseover事件触发的疑惑?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信