我尝试检测用户是否按下F12或ALT + L.
document.onkeydown = function (event) {
event = (event || window.event);
if (event.keyCode == 123 || (event.keyCode == 18 && event.keyCode == 76)) {
//do anything
return false;
}
}
我做错了什么?
答案 0 :(得分:2)
event.keyCode
只包含一个值。如果按下event.altKey
键,您可以使用alt
检测。
document.onkeydown = function (event) {
event = (event || window.event);
if (event.keyCode == 123 || (event.keyCode === 76 && event.altKey)) {
//do something
return false;
}
}
答案 1 :(得分:0)
标准的方法是创建一个bool来检测'alt'键当前是否被按下,然后单独的if检测是否为真,如果L键刚刚被按下 - 请参阅小提琴:
var held = false;
...
else if (event.keyCode == 18) {held = true;}
if (held == true && event.keyCode == 76) {
alert();
}
...
document.onkeyup = function(event) {
if (event.keyCode == 18) {held = false;}
}
这适用于持有任意组合键 - 您可以为多于两个的键组合创建一个数组:
held = [];
...
if (event.keyCode == i) {held[i] = true;}
...
等等