全局键盘回车触发 和 element Ui处理el-button自动失焦问题

/-------------下面是全局键盘回车触发\start---------------/

mounted() {
  window.addEventListener("keydown", this.keyDown, true);
},
destroyed(){  //离开页面销毁
  window.removeEventListener("keydown", this.keyDown, true);
},
methods: {
 keyDown(e){
  if(e === 'Enter' || e.keyCode === 13){
    console.log("Enter回车触发")
  }
 },
}

/-------下面是element Ui处理el-button自动失焦问题vue2的方法 \start----------/

// 写到main.js


Vue.directive("btn", {
  inserted(el) {
    el.addEventListener("focus", function(evt) {
      let target = evt.target;
      if (target.nodeName == 'SPAN' || target.nodeName == 'I') {
        target = evt.target.parentNode;
      }
      target.blur();
    });
  },
  update(el) {
    el.addEventListener("focus", function(evt) {
      let target = evt.target;
      if (target.nodeName == 'SPAN' || target.nodeName == 'I') {
        target = evt.target.parentNode;
      }
      target.blur();
    });
  },
});

/----------在el-button里加 v-btn就好使了--------/


<el-button
    v-btn
    size="small"
    type="success"
    :loading="loading"
     @click="xyt">
     下一题
</el-button>

/-------下面是element Ui处理el-button自动失焦问题vue3的方法 \start----------/

//写到src/util新建btn.js文件

export default {
  install: app => {
    const fun = function (evt) {
      let target = evt.target;
      if (target.nodeName == "SPAN") {
        target = evt.target.parentNode;
      }
      target.blur();
    };
    app.directive("btn", {
      mounted(el) {
        el.addEventListener("focus", fun);
      },
      unmounted(el) {
        el.removeEventListener("focus", fun);
      },
    });
  },
};

// 写到main.js里

import btn from './util/btn'
Vue.use(btn)

在标签添加v-btn就好了

<el-button
    v-btn
    size="small"
    type="success"
    :loading="loading"
     @click="xyt">
     下一题
</el-button>

目前在用的就是vue2版本没有问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值