位置: IT常识 - 正文

vue 鼠标移入移出(hover)切换显示图片问题

编辑:rootadmin
这篇文章主要介绍了vue 鼠标移入移出(hover)切换显示图片问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 目录

推荐整理分享vue 鼠标移入移出(hover)切换显示图片问题,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

鼠标移入移出(hover)切换显示图片css实现js实现vue鼠标移入移出事件注意事项发生冒泡事件一、解决方法二、定义三、两对鼠标事件的区别鼠标移入移出(hover)切换显示图片css实现

代码:

<div @click="exitConnect()" class="exit_hover">       <img class="exit1 mr10" :src="https://www.jb51.net/article/exit" />       <img class="exit2 mr10" :src="https://www.jb51.net/article/exitActive" />断开连接</div>

css:

.exit_hover .exit1{display:inline-block;}.exit_hover .exit2{display:none;}.exit_hover:hover .exit1{display:none;}.exit_hover:hover .exit2{display:inline-block;}js实现

使用一个变量来表示鼠标移入或移出的状态,鼠标移入事件mouseenter,移出事件mouseleave,在这两个事件中来修改这个变量。

注意:移出事件别用mouseout。

代码:

<div @mouseenter="isExitHover=true" @mouseleave="isExitHover=false" class="menus">       <img v-show="!isExitHover" :src="https://www.jb51.net/article/exit" class="mr10" />       <img v-show="isExitHover" :src="https://www.jb51.net/article/exitActive" class="mr10" />断开连接</div>

data:

            exit: require("@/assets/img/exit.svg"),            exitActive: require("@/assets/img/exit_active.svg"),            isExitHover:false,//是否悬浮到图标上vue鼠标移入移出事件注意事项发生冒泡事件

今天在写一个鼠标的移入移出的事件,使用mouseout和mouseover期间,踩了一个大坑,经过半天的排查,终于发现是发生了冒泡事件。

把mouseout和mouseover绑在父元素上,移过父元素和子元素都会触发。即子元素mouseover和mouseout事件会冒泡至父元素

一、解决方法

使用 mouseenter 和 mouseleave 事件。

这两个事件是根据组件在页面上的范围进行计算的,只要在某个组件上添加了这两个事件,会计算鼠标的位置,只要在组件范围内,就可以触发。

二、定义

1、mouseenter:在鼠标光标从元素外部首次移动到元素范围之内时触发,这个事件不冒泡。

vue 鼠标移入移出(hover)切换显示图片问题

2、mouseleave:在位于元素上方的鼠标光标移动到元素范围之外时触发,这个事件不冒泡。

3、mouseover:在鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发。

4、mouseout:在鼠标指针位于一个元素上方,然后用户将其移入另一个元素时触发。又移入的另一个元素可能位于前一个元素的外部,也可能是该元素的子元素。

三、两对鼠标事件的区别

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

1、mouseover 和 mouseout

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

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

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

2、mouseenter 和 mouseleave

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

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

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

总结一下:

在实际开发过程中,更多的是针对范围的操作。如果鼠标在某个组件(如div)范围内就触发进入组件的操作,如果离开这个组件的页面范围,就触发离开的事件。

所以,一般情况下都不推荐使用mouseover与mouseout 最好使用mouseleave 与 mouseenter

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

本文链接地址:https://www.jiuchutong.com/zhishi/310690.html 转载请保留说明!

上一篇:python中Locust的安装和使用(python locator)

下一篇:Python举例实现马耳可夫链算法(python mad)

  • 平均税额怎么算
  • 以前年度损益调整在借方是什么意思
  • 会计科目累计摊销是什么意思
  • 水利建设基金计算
  • 2021年金税盘
  • 非盈利组织是什么
  • 已投入使用的机器设备才能计提折旧对吗
  • 收到软件发票怎么做账
  • 退休工资缴纳个人所得税税率表
  • 小规模纳税人帮别人报关
  • 企业免征土地使用税吗
  • 花卉租赁发票税率是多少
  • 公司的一些党员特别喜欢健身
  • 房地产企业收到定金 什么时候交增值税 账务处理
  • 固定资产折旧年限的最新规定2023
  • 补充养老保险计算器
  • 暂估入库企业所得税税率
  • 发票开负数冲红做什么会计分录?
  • 个体工商户开票免税额度是多少
  • 预付账款收不到发票怎么冲账
  • 劳务公司差额发票账务处理
  • 剩余材料出售
  • 手机文件打开方式怎么设置默认
  • 银行 环保
  • 开发票时已交的税金怎么做帐?
  • 股东个人财产转让流程
  • excel2019文件加密
  • 俄勒冈州邮编
  • 在建工程明细科目设置
  • shadowbar.exe - shadowbar是什么进程 有何作用
  • windows 10音响没有声音
  • windows未能正常启动
  • 别人从我公司走账怎么做账务处理
  • 出售固定资产申报表收入与损益表收入不一致
  • 收到单据
  • 常见造成账目差异的原因
  • 草丛里的野花像
  • php中定义常量的函数是什么
  • 达摩院 2021
  • 城市维护建设税,教育费附加,地方教育费附加
  • 淘宝运费险费用很高
  • 自建厂房流程
  • 工程发票需要备注吗
  • 低于净资产增资 纳税
  • 怎么向银行申请贷款
  • 比赛奖金怎么做账
  • 发票报送日志不完整
  • 汽车维修行业工时标准
  • sql自定义
  • php mysql教程
  • 管理费用暂估入账分录次月冲
  • 不征税收入怎么申报增值税
  • 磅差怎么开票
  • 存货类明细分类账一般采用
  • 印花税多久申报一次2023
  • 已开具发票验旧
  • win8怎么卸载
  • linuxmail命令
  • xp系统怎么改文件类型
  • rsrcmtr.exe - rsrcmtr是什么进程 有什么用
  • win7怎么给硬盘重新分区
  • win7系统解决数字签名问题
  • win7电脑系统如何
  • 关机你的电脑遇到问题,需要重新启动,我们只收集
  • Win10 Mobile build 10586.338上手视频曝光
  • Metaio in Unity3d 教程--- 一. 搭建环境,运行官方案例
  • jquery实现回到顶部
  • jquery怎么写
  • opengl sphere
  • linux系统怎么搭建服务器
  • PYTHON使用缩进来体现代码之间的逻辑关系
  • 一些常用的网络命令
  • 北京国税地税合并
  • 一般纳税人开票的税率是多少
  • 公司0申报怎么申报视频
  • 新疆税务app操作手册
  • 个人所得税房贷能退多少钱
  • 增值税专用发票电子版
  • 长沙房产税如何征收
  • 道路坡度最大限度不超过多少度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设