解决elementui中button按钮组件在点击其他区域时 失去焦点问题!

本文介绍如何通过操作DOM节点和全局监听VueButton组件,避免点击其他区域时按钮失去焦点。作者提到使用`getComputedStyle`获取样式并实现排他逻辑,同时强调代码可优化部分,期待读者反馈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下图是我定义的五个button按钮

这是定义的五个按钮

解决点击其他区域button按钮失去焦点主要是通过操作button的dom节点

在点击时获取到当前点击元素的dom节点 this.$refs.easy.$el
通过window.getComputedStyle(this.el),backgroundColor获取到要操作的dom节点的属性

在这里插入图片描述

全局监听button组件的dom节点

由于点击button按钮组件 一方面点击是点击文字获取到span这个节点 另一方面则获取到button这个节点 所以要进行判断 是否是button节点或者其父节点是否是button节点 ,不是button节点则其点击的是其他区域则阻止button按钮组件失去焦点(保持一直有颜色的状态) 是button按钮则这里涉及一个问题,我这里是采用排他思想解决 清除其他兄弟的样式 只保持自己的样式
else后面的注释有点问题

这样便可以在点击其他区域是保持刚刚点击的button组件不失去焦点 ,对于每一个button按钮dom节点赋值的代码有些冗余 完全可以抽离一部分
或许有其他更好的办法欢迎各位大佬指正留言
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值