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

How can I detect if left Alt + letter was pressed

仅当左 ALT 键与字母 s 一起按下时,我才需要执行某些操作。 当 oEvent.altKey === trueString.fromCharCode(oEvent.keyCode) === 'S' 时,我可以找到是否使用 keydown 事件按下了某些 Alt+s . 我还可以找到左或右 ALT 是否被按下:

oEvent.originalEvent.location === KeyboardEvent.DOM_KEY_LOCATION_LEFT 

oEvent.originalEvent.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT

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

为了做到这一点,你必须注册两个事件,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");

},