<script>
export default {
data() {
return {
keyboardControl:false,//键盘是否已按下
}
},
created(){
var _self = this;
//键盘按下
document.onkeydown = function(e){
if(!_self.keyboardControl){//如果键盘已按下,则不重复执行
if(window.event == undefined){
var key = e.keyword;
}else{
var key = window.event.keyCode;
}
// _self.keyboardControl = true;//表示键盘已按下
switch(key){
case 37:
console.log('左方向键按下',key);
_self.keyboardControl = true;//表示键盘已按下
break;
case 38:
console.log('上方向键按下',key);
_self.keyboardControl = true;//表示键盘已按下
break;
case 39:
console.log('右方向键按下',key);
_self.keyboardControl = true;//表示键盘已按下
break;
case 40:
console.log('下方向键按下',key);
_self.keyboardControl = true;//表示键盘已按下
break;
case 107:
console.log('+键按下',key);
_self.keyboardControl = true;//表示键盘已按下
break;
case 109:
console.log('-键按下',key);
_self.keyboardControl = true;//表示键盘已按下
break;
default:
console.log('按下',key);
break;
}
}
},
//键盘抬起
document.onkeyup = function(e){
if(_self.keyboardControl){//如果键盘按下,再抬起则执行
if(window.event == undefined){
var key = e.keyword;
}else{
var key = window.event.keyCode;
}
console.log('键盘抬起',key);
_self.keyboardControl = false;//表示键盘已抬起
}
}
},
//销毁
destroyed(){
//离开页面销毁触发键盘事件
document.onkeydown = undefined;
document.onkeyup = undefined;
},
}
</script>
js捕捉按下和抬起键盘操作,持续按下不重复执行
最新推荐文章于 2024-04-04 12:30:25 发布