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

  • 总分公司报税有哪些注意事项
  • 企业申报表有异常期间可以更换财务负责人吗
  • 公司交社保是怎么计算的
  • 不动产出租需要缴纳哪些税
  • 销项负数发票原发票还有用吗?
  • 房地产开发公司排名
  • 建筑企业收到预售款时需要缴纳增值税吗
  • 房地产土地增值税优惠政策
  • 可变股权转让对价会计处理怎么做?
  • 代扣代缴的增值税算进项税吗
  • 收就业局稳岗补贴做账
  • 收到承兑汇票作废怎么办
  • 社团会费收取标准和管理办法
  • 收到增值税专用发票怎么处理
  • 营改增对资产负债表的影响
  • 增值税从哪一年开始征收的
  • 几种更正法
  • 关于递延所得税资产负债的表述
  • 预缴附加税怎么做账
  • 跨月可以开票吗
  • 消费税的纳税义务人
  • 原材料对外投资进项税额可以抵扣吗
  • 进项抵扣怎么做分录
  • 商铺水费收取标准2020
  • 运输费计入什么会计科目?
  • php判断为空的方法有哪些
  • 建安混合销售能分开吗
  • 医保和养老保险一样吗
  • 自产产品用于业务招待 如何申报企业所得税
  • 融资性租赁的优缺点
  • kjournald是什么进程
  • php商品对比功能怎么用
  • php显示文件目录及路径
  • 企业常用的成本核算方法有哪些
  • 知识产权作用
  • PHP:GregorianToJD()的用法_日历函数
  • 欧罗巴山脉自驾
  • 月收入10万以下免增值税
  • centos php7.4
  • 知识图谱实现方案
  • php中input的用法
  • 工业总产值和营业收入区别
  • 收到上市公司分红企业所得税减半征收的情景
  • Python变量中forain
  • golang eventbus
  • php cms
  • 织梦怎么导入数据库
  • phpcms v9搬家不同步怎么办
  • 内帐税金会计分录
  • 邮电通信企业业务收入包括哪些内容?
  • 企业的所得税税率怎么计算
  • 稳岗补贴支付范围
  • 价内税与价外税的计算公式
  • 开红字发票如何调整收入?
  • 未取得发票该怎么说明
  • 购买员工团体意外险需要缴纳个税么
  • 房地产契税新政策2023
  • 企业购买国债逆回购怎么操作
  • 固定资产折旧账务处理例题
  • 投资方持有的能够对被投资单位实施
  • 商业企业采购商品会计分录
  • sql查询和遍历数据
  • sqlserver增删改查执行语句
  • mysql5.7.35安装
  • centos7安装mysql并jdbc测试教程
  • windows10 rs2
  • centos如何安装软件
  • windows7怎么给电脑加密码
  • 怎样解决windows照片查看器无法显示此图片
  • opengl glm库
  • cocos2dx 4.0
  • android开机自启动显示界面
  • 及将上市的手机
  • css选择器 菜鸟教程
  • 命令行批处理文件
  • 地盘正针的详解使用
  • JavaScript中setMonth()方法的使用详解
  • 电子发票票种核定申请
  • 双定户如何网上申报
  • 文化传媒公司能卖多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设