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

 更新时间:2022年10月10日 09:28:02   作者:卡尔特斯  
这篇文章主要介绍了Vue实现Hover功能(mouseover与mouseenter的区别及说明),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Vue实现Hover功能

mouseover 和 mouseenter 的区别

  • 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>

Vue hover的两个小技巧

第一个小技巧:导航栏的hover效果,一直存在

先使用this.$route.path获取当前路径,进行判断

第二个小技巧:鼠标移入移出效果

hoverIndex不能为0,因为第一个li的索引是0。也不能大于0

当鼠标移入的时候index === hoverIndex,当鼠标移出的时候把hoverIndex设置为-1就可以了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue获取DOM的几种方法总结

    Vue获取DOM的几种方法总结

    这篇文章主要介绍了Vue获取DOM的几种方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • webstrom Debug 调试vue项目的方法步骤

    webstrom Debug 调试vue项目的方法步骤

    这篇文章主要介绍了webstrom Debug 调试vue项目的方法步骤,详细的介绍了两种调试vue项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • vue3在setup中使用mapState解读

    vue3在setup中使用mapState解读

    这篇文章主要介绍了vue3在setup中使用mapState方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • 解决vue-pdf查看pdf文件及打印乱码的问题

    解决vue-pdf查看pdf文件及打印乱码的问题

    这篇文章主要介绍了解决vue-pdf查看pdf文件及打印乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue3 setup中使用$refs的方法详解

    Vue3 setup中使用$refs的方法详解

    在 Vue 3 中的 Composition API 中,$refs 并不直接可用于 setup 函数,但是实际工作中确实有需求,那么该如何解决呢,本文为大家整理了两个方案,希望对大家有所帮助
    2023-08-08
  • vue实现日历备忘录功能

    vue实现日历备忘录功能

    这篇文章主要为大家详细介绍了vue实现日历备忘录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 利用nodeJS+vue图片上传实现更新头像的过程

    利用nodeJS+vue图片上传实现更新头像的过程

    Vue是一套构建用户界面的框架,最近工作中遇到了一个需求,需要做一个更新头像的通能,下面这篇文章主要给大家介绍了关于利用nodeJS+vue图片上传的相关资料,需要的朋友可以参考下
    2022-04-04
  • 一文了解Vue实例挂载的过程

    一文了解Vue实例挂载的过程

    这篇文章主要给大家介绍了关于Vue实例挂载的过程,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • 解决vue 给window添加和移除resize事件遇到的坑

    解决vue 给window添加和移除resize事件遇到的坑

    这篇文章主要介绍了解决vue 给window添加和移除resize事件遇到的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Vue中Vue.extend()的使用及解析

    Vue中Vue.extend()的使用及解析

    这篇文章主要介绍了Vue中Vue.extend()的使用及解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10

最新评论