data () {
return {
downKeyCode: [],
downMany: false
}
},
mounted () {
document.addEventListener('keydown', this.keydownEvent)
document.addEventListener('keyup', this.keyupEvent)
},
methods:{
// 按下按键
keydownEvent (e) {
if (e.altKey) e.preventDefault() // 阻止浏览器的默认行为
// 记录按下了哪些按键
if (this.downKeyCode && !this.downKeyCode.includes(e.keyCode)) this.downKeyCode.push(e.keyCode)
// 判断是否按下了多个按键
if (this.downKeyCode.length > 1) this.downMany = true
},
// 放开按键
keyupEvent (e) {
if (this.downKeyCode.length == 1 && e.keyCode === 18 && !this.downMany) {
// 判断只按了一个按键并且是alt键并且没有按下其他按键触发逻辑
}
const index = this.downKeyCode.indexOf(e.keyCode)
if (index > -1) this.downKeyCode.splice(index, 1)
if (this.downKeyCode.length == 0) this.downMany = false
},
}
12-06
8912

05-10
3725

02-19
6735

09-18
1万+
