mouseover,mouseenter和mouseout,mouseleave

这里贴原生代码,jquery里面也是这样

<!DOCTYPE html>
<html lang="zh-cn">
<head>
  <meta charset="utf-8">
  <title></title>
  <style>
    *{
      padding: 0;
      margin: 0;
    }
    #box1{
      width: 200px;
      height: 200px;
      background-color: #2aabd2;
      font: bold 28px 微软雅黑;
      color: #fff;
      margin: 50px auto;
      
    }
    #box2{
      width: 100px;
      height: 100px;
      background-color: lightcoral;
      
    }
    #box3{
      width: 200px;
      height: 200px;
      background-color: #2aabd2;
      font: bold 28px 微软雅黑;
      color: #fff;
      margin: 50px auto;

    }
    #box4{
      width: 100px;
      height: 100px;
      background-color: lightcoral;

    }
  </style>
</head>
<body>
<div id="box1">
  <div id="box2">BOX2</div>
  BOX1
</div>
<div id="box3">
  <div id="box4">BOX4</div>
  BOX3
</div>
<script type="text/javascript">
    window.onload = function () {
      var box1 = document.getElementById('box1')
      var box2 = document.getElementById('box2')
      var box3 = document.getElementById('box3')
      var box4 = document.getElementById('box4')
      var i = 0, j = 0
      box1.onmouseover = function () {
        i++
        console.log('onmouseover触发了' + i)
      }
      box1.onmouseleave = function () {
        i-=2
        console.log('onmouseleave触发了' + i)
      }
      box3.onmouseenter = function () {
        j++
        console.log('onmouseenter触发了' + j)
      }
      box3.onmouseout = function () {
        j-=2
        console.log('onmouseout触发了' + j)
      }
    }
</script>
</body>
</html>

都以这个图为标准说明



mouseover和mouseenter
方式 mouseover mouseenter
从外界直接进入box1 触发 触发
从外界直接进入box2 触发 触发
从box1进入box2 触发 不触发
从box2进入box1 触发 不 触发

得出结论 : mouseover冒泡,mouseenter不冒泡


mouseout和mouseleave
方式 mouseout mouseleave
从box1出到外界 触发 触发
从box2出到外界 触发 触发
从box1出到box2 触发 不触发
从box2出到box1 触发 不 触发

得出结论 : mouseout冒泡,mouseleave不冒泡


总结 : 所有的鼠标事件中,只有mouseenter和mouseleave不冒泡,其他鼠标事件都是冒泡的,在使用这几种事件的时候,可以根据自己的需求进行选择

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 5,199评论 0 8
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 5,531评论 2 10
  • 第1章 鼠标事件 1-1 jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是...
    mo默22阅读 5,048评论 0 6
  • 5 一堂课直上到戌时末,墨渊才收了书卷施施然起身,临走前还不忘看眼不省心的金莲,对着白浅微微点了点。 收到指示白浅...
    九皋__阅读 2,958评论 0 0
  • 今天是意外之旅。 先是史迪威拉肚子了。 然后是我把手机忘在了宾馆...... 我们想要继续沿着史迪威公路前往保山。...
    周一秩禾阅读 1,371评论 0 2