Vue中常用的鼠标移入移出事件详解

 更新时间:2023年07月03日 15:43:28   作者:爱捣鼓的XiaoPu  
这篇文章主要给大家介绍了关于Vue中常用的鼠标移入移出事件的相关资料,鼠标移入移出事件在 Vue 中可以通过@mouseenter和@mouseleave来绑定,需要的朋友可以参考下

Vue中常用的鼠标移入移出事件

Vue中常用的鼠标移入移出事件有两种:@mouseenter@mouseleave

@mouseenter事件会在鼠标移入元素时触发,而@mouseleave事件会在鼠标移出元素时触发。这两个事件可以用于实现一些交互效果,例如鼠标移入时显示某些内容,鼠标移出时隐藏。

在Vue模板中,可以使用这两个事件来绑定方法,例如:

<template>
  <div @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave">鼠标移入移出</div>
</template>

在Vue组件的methods中定义对应的方法:

export default {
  methods: {
    handleMouseEnter() {
      console.log('鼠标移入');
    },
    handleMouseLeave() {
      console.log('鼠标移出');
    }
  }
}

这样当鼠标移入或移出该元素时,对应的方法就会被调用。

@mouseleave事件来代替mouseout事件

mouseout是JavaScript原生的鼠标移出事件,与Vue中的@mouseleave事件类似,但有一些细微的差别。

mouseout事件会在鼠标移出元素时触发,但如果鼠标移入该元素的子元素,也会触发一次mouseout事件。这样可能会导致一些意外的行为,例如当鼠标从元素上移入其子元素时,可能会触发元素的mouseout事件,从而导致一些不必要的操作。

因此在Vue中,建议使用@mouseleave事件来代替mouseout事件。

@mouseenter事件来代替mouseover事件

mouseover是JavaScript原生的鼠标移入事件,与Vue中的@mouseenter事件类似,但有一些细微的差别。

mouseover事件会在鼠标移入元素时触发,但如果鼠标移入该元素的子元素,不会触发一次mouseover事件。这样可以避免一些意外的行为,例如当鼠标从元素的子元素上移出时,不会触发元素的mouseover事件,从而避免一些不必要的操作。

因此在Vue中,建议使用@mouseenter事件来代替mouseover事件。

附:两对鼠标事件的区别

其中,mouseover触发优先级高于mouseenter,mouseout触发优先级高于mouseleave

1、mouseover 和 mouseout

不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover

不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。

是根据鼠标事件的target进行触发的,是一种精确触发。当为某一组件(如div)设置这两个事件时,当事件的target是该组件时,就会触发mouseover,但是当鼠标划到该组件的子组件上时,因为target改变了,所以就触发了 mouseout 事件,这往往就会造成页面元素的闪烁,反复触发移入移出事件。

2、mouseenter 和 mouseleave

只有在鼠标指针从元素外穿入被选元素(到元素内)时,才会触发 mouseenter 事件。

只有在鼠标指针从元素内穿出被选元素(到元素外)时,才会触发 mouseleave 事件。

mouseenter 和 mouseleave是根据组件在页面的范围(坐标)进行触发的。不管组件中是否有子组件,只要鼠标进入到组件的范围内,就可以触发mouseenter事件,离开范围,则触发mouseleave事件。

总结 

到此这篇关于Vue中常用的鼠标移入移出事件的文章就介绍到这了,更多相关Vue鼠标移入移出事件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue深入讲解数据响应式原理

    Vue深入讲解数据响应式原理

    应用会对用户的操作进行反馈,就叫响应式,数据变化会实时改变UI,就叫数据响应式,修改Vue实例中的数据时,视图会重新渲染,就是Vue的数据响应式
    2022-05-05
  • Vue3纯前端实现Vue路由权限的方法详解

    Vue3纯前端实现Vue路由权限的方法详解

    这篇文章主要给大家介绍了关于Vue3纯前端实现Vue路由权限的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用Vue3具有一定的参考学习价值,需要的朋友可以参考下
    2022-05-05
  • vue跳转页面常用的4种方法与区别小结

    vue跳转页面常用的4种方法与区别小结

    这篇文章主要给大家介绍了关于vue跳转页面常用的4种方法与区别,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Vue.js事件处理器与表单控件绑定详解

    Vue.js事件处理器与表单控件绑定详解

    这篇文章主要为大家详细介绍了Vue.js事件处理器与表单控件绑定详解的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • ElementUI实现el-table列宽自适应的代码详解

    ElementUI实现el-table列宽自适应的代码详解

    这篇文章给大家介绍了ElementUI实现el-table列宽自适应的详细步骤,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • vue关于页面刷新的几个方式解读

    vue关于页面刷新的几个方式解读

    这篇文章主要介绍了vue关于页面刷新的几个方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • vue全局引入公共的scss和@mixin与@include的使用方式

    vue全局引入公共的scss和@mixin与@include的使用方式

    这篇文章主要介绍了vue全局引入公共的scss和@mixin与@include的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 如何使用 vue-cli 创建模板项目

    如何使用 vue-cli 创建模板项目

    这篇文章主要介绍了如何使用 vue-cli 创建模板项目,帮助大家更好的理解和学习vue框架的知识,感兴趣的朋友可以了解下
    2020-11-11
  • Vue之使用mockjs生成模拟数据案例详解

    Vue之使用mockjs生成模拟数据案例详解

    这篇文章主要介绍了Vue之使用mockjs生成模拟数据案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • vuex-persist 使用场景分析

    vuex-persist 使用场景分析

    Vuex-Persist 是一个用于在 Vuex 中实现持久化状态的库,它可以用来解决应用程序在刷新浏览器或关闭页面后丢失 Vuex store 中状态的问题,本文给大家介绍vuex-persist 可以用来干什么,感兴趣的朋友一起看看吧
    2023-11-11

最新评论