前言:pc端的登录用回车更简单方便,但是element的键盘事件好像只有input可以加,也只能选中才可触发,非常不友好
在网上找到如下解决方法:
<el-button @click.native.prevent="handleLogin" @keyup.enter.native="loginEnter('loginData')">登录</el-button>
加入这段代码:
created(){
var _self = this;
document.onkeydown = function(e){
if(window.event == undefined){
var key = e.keyCode;
}else{
var key = window.event.keyCode;
}
if(key == 13){
_self.loginEnter('loginData');
}
}
}
就可以直接用了:
methods:{
loginEnter(){
// 加入axios代码 ...
}
}
但是今天发现这样好用是好用 但是登录后再次点击回车还会触发此事件 又加入如下代码:
methods:{
loginEnter(){
// 加入axios代码
this.$axios({
}).then(function(result){
// 在请求成功后把document.onkeydown置为undefined
document.onkeydown = undefined;
}).catch(function(err){
})
}
}
——————————————————————————分割线———————————————————————————
开始我看见this.$axios({})不知道干啥用的,后来才知道和我写的this.$fetch 和this.$post是一样的
以下是我的登录方法
贴一下如果不加以上代码会产生什么问题
原文作者:julying
原文链接:https://blog.csdn.net/julying/article/details/83587370