区别在于:mouseover与mouseout再进入或离开后会执行这两个事件;

mouseenter与mouseleave在进入或离开后代元素不会执行这两个事件。

下面实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #oDiv1 {
            height: 200px;
            width: 200px;
            background-color: #bfa;
        }

        .oDiv2 {
            height: 100px;
            width: 100px;
            background-color: #baf;
            margin: 0 auto;
            position: relative;
            top: 50px;
        }
    </style>
</head>
<body>
<div id="oDiv1">
    <div class="oDiv2">
    </div>
</div>
<script>

    //  mouseover与mouseenter区别
    /*mouseover:在进入指点元素的时候,如果进入后代元素,也会触发
     *  mouseenter:鼠标移入子代中不会触发改时间
     //   mouseout与mouseleave区别
     mouseout:进入子元素,会触发祖先元素执行该事件
     mouseout:进入子元素,会触发祖先元素不会执行该事件
     * */
    oDiv1 = document.getElementById('oDiv1');
    oDiv1.addEventListener('mouseover', function () {
        console.log("mouseover");  //会执行三次
    });
    oDiv1.addEventListener('mouseenter', function () {
        console.log("mouseenter"); // 会执行一次
    });
    oDiv1.addEventListener('mouseout', function () {
        console.log("mouseout"); // 会执行三次
    });
    oDiv1.addEventListener('mouseleave', function () {
        console.log("mouseleave");  //会执行一次
    });
</script>
</body>
</html>



更多相关文章

  1. 使用jQuery排序,删除和追加元素在IE中不起作用
  2. 关于如何更好的监听元素属性的变化(转)
  3. javascript判断数组和对象中是否存在某元素
  4. 获取下一个DOM元素的ID
  5. 前端笔记之JavaScript(十)深入JavaScript节点&DOM&事件
  6. 使用Javascript / jQuery的/ CSS。如何在目标div之外维护拖动事
  7. iframe操作、调用父页面元素或js函数
  8. Github推送事件签名不匹配
  9. 在鼠标悬停事件中使用Javascript隐藏内容

随机推荐

  1. 关于Android不能启动的问题
  2. 怎么设置Android Activity的动画
  3. Android Market google play store帐号注
  4. Rockie's Android Porting Guide(1)——Bui
  5. Linux安装Android SDK时出现Failed to fe
  6. android底层开发
  7. 修改EditText的光标颜色
  8. Ted Mosby - 一个MVP框架的软件架构
  9. 弹出窗口显示不出ListView的条目
  10. 第11天android:拨号器和打包发布