问题描述
有时使用element-UI按钮组件el-button时会出现按钮点击事件触发完成之后,按钮依然处于被点击的状态,也就是说依然表现为浅色,没有变回未点击时的颜色。
这是由于点击时点击到了按钮中的文字,或者图标,也就是按钮的子元素<span>
或者<i>
标签,没有办法触发父元素也就是按钮本身的点击事件
解决方法
在需要的按钮点击事件中调用此方法。
// 强制按钮失去焦点
forceBlur(e){
let target = e.target;
if(target.nodeName == "I"||target.nodeName == "SPAN"){
target = e.target.parentNode;
}
target.blur();
}