位置: 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)

  • 个体的个人所得税怎么算
  • 员工提成比例怎么分配
  • 小规模城建税和教育费附加怎么算
  • 应交税费销项税在借方还是贷方
  • 社会团体财务手册怎么写
  • 搬家费账务处理
  • 中小企业税务管理存在的问题
  • 损益表上的数据怎么看
  • 外贸公司有国企吗
  • 固定资产净残值率
  • 融资担保公司会计建议有哪些要求
  • 公司借款给个人利息怎么做账
  • 营改增是好事还是坏事
  • 所得税退税会计账务怎么处理
  • 会计报表的附表包括哪些
  • 筹备期会计分录
  • 事业单位收到增值税专用发票抵扣联怎么办
  • 增值税专用发票使用规定 最新
  • 营业执照印花税税率
  • 车辆购置税入什么科目?
  • 公司租车费用会计分录
  • 如何确认是否要割包皮
  • 公司办公楼的中介怎么做
  • 个人代公司付货款要证明吗
  • 酒店小规模纳税人税率
  • 未开票收入纳税
  • 合伙企业年度汇缴申报
  • 公司转账不开票备注服务费怎么入账
  • 建筑施工企业跨区域如何缴税
  • 农业合作社出售农产品怎么计税
  • 对方开红票需要寄给我吗
  • 鸿蒙怎么添加
  • 鸿蒙系统怎么设置桌面小组件
  • 辅助生产成本的交互分配法
  • 限额领料单一般一式几联
  • 固定资产一次性扣除申报表怎么填
  • 委托加工业务的组成计税价格
  • 用vue做的登录界面
  • 利润表应根据什么编制
  • thinkphp cli
  • 抄税的步骤
  • 盈余公积转增资本什么意思
  • JavaScript charCodeAt() 方法
  • 【超用心整理】Markdown常用语法介绍,看这一个就够了
  • 命令行延时
  • 未分配利润在科目余额表里怎么看
  • 利润分配的账务处理会计分录
  • 如何区分误餐费和补助费
  • 财务报表年报和汇算清缴的顺序
  • 原材料入库单价20000出库单价800000
  • 电子口岸无纸化报关
  • 金蝶软件做账流程图片
  • 电脑访问另一台电脑访问权限
  • 员工意外伤害险入什么会计科目
  • 所得税费用的账目处理
  • 公司进项抵税
  • 增值税加计扣除最新政策2023
  • 申请专利的费用怎么入账
  • 去年所得税汇算清缴报表填错了今年可以改吗
  • 企业会计制度对固定资产无入账价值怎么入账
  • 利息收入记借方还是贷方
  • 补计提上一年度工资
  • 账面余额与账面净值
  • 分享一下相亲时碰见过哪些奇葩事
  • 笔记本电脑bios更新
  • xp怎么安装iis
  • emule.td文件怎么打开
  • centos基本操作命令
  • gzip: stdin: unexpected end of file tar: Unexpected EOF in archive tar: Unexpect
  • linux中rename命令详解
  • opengl learning
  • linux怎么添加新用户
  • android studio post请求数据获取
  • unity多人联机服务器客户端
  • javascript教程
  • python系统代码
  • 代收国税地税收入
  • 湖南什么时候实行电子驾驶证
  • 消防行政执法风险评估
  • 企业申报系统网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设