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鼠标移入移出事件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue3 el-table回显选中的数据方式

    vue3 el-table回显选中的数据方式

    文章主要介绍了如何在Vue 3中使用el-table组件实现数据回显和选中功能,HTML部分展示了如何构建表格行,而JavaScript部分则通过`item`变量表示每一行的数据,并通过布尔值`true`来标记选中状态,作者通过个人经验分享,希望能为其他开发者提供参考和支持
    2025-12-12
  • 使用vue-router切换页面时,获取上一页url以及当前页面url的方法

    使用vue-router切换页面时,获取上一页url以及当前页面url的方法

    这篇文章主要介绍了使用vue-router切换页面时,获取上一页url以及当前页面url的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 前端框架Vue父子组件数据双向绑定的实现

    前端框架Vue父子组件数据双向绑定的实现

    Vue项目中经常使用到组件之间的数值传递,实现的方法很多,但是原理上基本大同小异。这篇文章将给大家介绍Vue 父子组件数据单向绑定与Vue 父子组件数据双向绑定的对比从而认识双向绑定
    2021-09-09
  • 详解如何运行vue项目

    详解如何运行vue项目

    这篇文章主要介绍了如何运行vue项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 前端如何调用Go语言后端接口(HTML + JS & Vue)

    前端如何调用Go语言后端接口(HTML + JS & Vue)

    这篇文章主要介绍了前端如何调用Go语言后端接口(HTML + JS & Vue)的相关资料,文中通过代码还讨论了跨域问题的解决方法,并对比了HTML+JS和Vue的不同适用场景,需要的朋友可以参考下
    2026-01-01
  • Vue利用dayjs封装实现时间实时刷新

    Vue利用dayjs封装实现时间实时刷新

    Day.js库本身专注于简化JavaScript日期和时间的操作,它的API设计直观,且功能强大,可以方便地格式化日期、添加或减去时间间隔、比较日期等,本文主要介绍了Vue利用dayjs封装实现时间实时刷新,需要的朋友可以参考下
    2024-07-07
  • Element Plus的el-tree-select组件懒加载+数据回显详解

    Element Plus的el-tree-select组件懒加载+数据回显详解

    el-tree-select组件是el-tree和el-select的结合体,他们的原始属性未被更改,下面这篇文章主要给大家介绍了关于Element Plus的el-tree-select组件懒加载+数据回显的相关资料,需要的朋友可以参考下
    2022-11-11
  • 浅谈基于Vue.js的移动组件库cube-ui

    浅谈基于Vue.js的移动组件库cube-ui

    这篇文章主要介绍了基于Vue.js的移动组件库cube-ui,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 在 React、Vue项目中使用SVG的方法

    在 React、Vue项目中使用SVG的方法

    本篇文章主要介绍了在 React、Vue项目中使用SVG的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Vue项目使用PostCSS做h5页面的屏幕适配的配置步骤

    Vue项目使用PostCSS做h5页面的屏幕适配的配置步骤

    PostCSS 是一个用 JavaScript 编写的工具,用于将 CSS 转换为另一种 CSS,在做h5页面的屏幕适配时,结合 PostCSS 的一些插件能轻松实现,下面以结合 postcss-pxtorem 插件为例,详细介绍配置步骤,需要的朋友可以参考下
    2025-02-02

最新评论