监听键盘事件
实现组合键的判断
created() {
let self = this;
let code = 0
let code2 = 0
document.onkeydown = function (e) {
let evn = e || event;
let key = evn.keyCode || evn.which || evn.charCode;
// F2
if (key === 113) {
......
}
//F5
if (key === 116) {
e.preventDefault() //禁止默认事件
......
}
// c
if (key === 67) {
code2 = 1
}
// j
if (key === 74) {
code2 = 2
}
// alt
if (key === 18) {
code = 1
}
// Alt + C
if (code === 1 && code2 === 1) {
......
}
// Alt+ j
if (code === 1 && code2 === 2) {
......
}
}
// keyup时及时的 归零
document.onkeyup = function (e) {
if (e.keyCode === 67) {
code2 = 0;
}
if (e.keyCode === 18) {
code = 0;
}
if (e.keyCode === 74) {
code2 = 0;
}
if (e.keyCode === 88) {
code2 = 0;
}
}
},
==================
遇到的问题。
- 只能获取到键盘(such as:F10)的keydown事件,不能获取到keyup事件。
WTF
原来是忘了禁止按键的默认事件了。
加上 e.preventDefault() ,就可以监听到了