keyup.enter和blur绑定同一事件,触发两次的问题

本文探讨了在Vue框架中,使用<el-input>组件时遇到的问题:当按下Enter键,handleAddDomain事件被触发两次。解析了问题原因在于Enter键不仅触发自身事件还触发了blur事件,并提供了解决方案,通过在Enter键按下时直接调用blur方法避免重复触发。

有个需求,要求input框失焦或者键盘按下Enter键时触发handleAddDomain事件,但是实际上在按下Enter键后,会触发两次handleAddDomain事件

<el-input
    class="input-new-tag"
    v-if="inputDomainVisible"
    v-model.trim="inputDomainVal"
    ref="saveTagInput"
    size="small"
    @keyup.enter.native="handleAddDomain"
    @blur="handleAddDomain"/>

原因:键盘按下Enter键执行handleAddDomain方法同时会自动触发blur事件,导致handleAddDomain被执行了两次
解决:键盘按下Enter键执行blur

<el-input
    class="input-new-tag"
    v-if="inputDomainVisible"
    v-model.trim="inputDomainVal"
    ref="saveTagInput"
    size="small"
    @keyup.enter.native="$event.target.blur"
    @blur="handleAddDomain"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值