如何检测是否按下了Alt +字母

时间:2015-12-08 07:48:03

标签: javascript javascript-events keyboard

只有在用字母'按下左ALT键时才需要执行某些操作。 我可以找到一些Alt +'在oEvent.altKey === trueString.fromCharCode(oEvent.keyCode) === 'S'时使用keydown事件按下。 我还可以通过以下方式找到左侧或右侧ALT:

oEvent.originalEvent.location === KeyboardEvent.DOM_KEY_LOCATION_LEFT 

oEvent.originalEvent.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT

但我能找到的是结合两者的方法。

1 个答案:

答案 0 :(得分:2)

为了做到这一点,你必须注册两个事件keyUpkeyDown,并使用一个变量可以做到这一点,

 isleftAltPressed : false,

keyUp: function(e)
{
  var keyCode = e.which ? e.which : e.keyCode;
  if(keyCode == 18)
      isleftAltPressed = false;
},

keyDown: function(e)
{
  var keyCode = e.which ? e.which : e.keyCode;

  if(keyCode == 18 && e.originalEvent.location === KeyboardEvent.DOM_KEY_LOCATION_LEFT)
      isleftAltPressed = true;

    if(e.altKey && isleftAltPressed && keyCode == 83)
      alert("hi");

},