vue使用快捷键(F1-F12),聚焦el-input框并选中文本

  • 页面input

<el-input ref="refKehu" id="dome" size="mini" 
 type="number" 
 v-model="payment" 
 @blur="focusState = false" 
 @focus=" focusSelect($event)" 
 v-focus="focusState">
</el-input>
  • 事件监听和触发input聚焦

 

 data(){
      return{
          focusState: false
      }
  },
  mounted(){
      addEventListener('keydown', this.keyDown)//创建监听键盘事件
  },
  directives: {
    focus: {
      //根据focusState的状态改变是否聚焦focus
      update: function (el, { value }) {    //第二个参数传进来的是个json
        if (value) {
          //使用的el-input
          el.getElementsByTagName("input")[0].focus()
        }
      }
    }
  },
  method:{
  //得到焦点选中
    focusSelect (event) {
      event.currentTarget.select();
    },
   keyDown(e) {
      console.log(e);
      if (e.key == 'F2') {
        this.focusState= true
        e.preventDefault();//阻止浏览器默认事件
        return false
      }
    },
  }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值