Vue 实现 Hover 功能( mouseover 与 mouseenter 的区别)

一、mouseovermouseenter 的区别
  • mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发,冒泡过程。对应的移除事件是 mouseout

  • mouseenter:当鼠标移入元素本身(不包含元素的子元素)会触发事件,也就是不会冒泡。对应的移除事件是 mouseleave

  • 通过图片进行分析 冒泡 情况

    image.png

  • hover 事件调用顺序

    mouseover -> mouseenter -> mousemove(hover进去之后移动会触发) -> mouseout -> mouseleave

二、案例
  • 案例效果

    temp.gif

  • 案例代码

    <template>
      <div
        class="hover-view"
        @mouseover="mouseover"
        @mouseenter="mouseenter"
        @mousemove="mousemove"
        @mouseout="mouseout"
        @mouseleave="mouseleave"
        @mousedown="mousedown"
        @mouseup="mouseup"
      >
      </div>
    </template>
    
    <script>
    export default {
      methods: {
        // 1、进入元素
        mouseover () {
          console.log('mouseover')
        },
        // 2、进入元素
        mouseenter () {
          console.log('mouseenter')
        },
        // 3、移动
        mousemove () {
          console.log('mousemove')
        },
        // 4、离开元素
        mouseout () {
          console.log('mouseout')
        },
        // 5、离开元素
        mouseleave () {
          console.log('mouseleave')
        },
        // 6、鼠标在元素上 按下
        mousedown () {
          console.log('mousedown')
        },
        // 7、鼠标在元素上 抬起
        mouseup () {
          console.log('mouseup')
        }
      }
    }
    </script>
    
    <style>
    .hover-view {
      width: 100px;
      height: 100px;
      background-color: red;
    }
    </style>
    
  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值