通过Javascript检测键码ALT + L.

时间:2014-07-31 19:57:38

标签: javascript keycode

我尝试检测用户是否按下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;
    }
}

我做错了什么?

2 个答案:

答案 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键刚刚被按下 - 请参阅小提琴:

http://jsfiddle.net/L4cb9/1

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;}
...

等等