代码之家  ›  专栏  ›  技术社区  ›  Ethan

如何在JavaScript中捕获按键上的ALT+N

  •  2
  • Ethan  · 技术社区  · 8 年前

    window.addEventListener('keypress', function(e) {
      console.log(e.keyCode);
    })

    似乎对你有用 中高音 +几乎每一个都在我的键盘上。 除了 中高音 + N 它似乎根本没有注册这个活动!只是 N (没有 中高音 )似乎有效,其他组合也一样 Ctrl键 + . 我打字的时候 + N

    这是我的电脑出了问题还是其他人也有问题?如果它确实发生在其他人身上,为什么它会这样做?有没有办法检测到它?

    2 回复  |  直到 7 年前
        1
  •  6
  •   Ashraf    8 年前

    尝试:

    window.addEventListener('keydown', function(e) {
      if (e.altKey == true && e.keyCode == 78)
        console.log('Alt + N'); 
    });
        2
  •  3
  •   slava    7 年前

    keypress 这件事对我没用 + N 以及任何与 关于那件事。一些组合正在使用 有些不是。

    然而,当我倾听 keydown keyup 事件,我可以记录这些事件。所以,我想你可以听听 键盘按下 中高音 键盘按下 生成 弹起 中高音 + N 联合体。

    我不知道为什么会这样。

    编辑

    根据 Mozilla documentation

    当按下产生字符值的键时,将触发keypress事件。产生字符值的键有字母键、数字键和标点键。

    示例 不产生字符值的键 .

    至于为什么有些快捷方式在Chrome中起作用,而有些不起作用, Mozilla 说

    键盘快捷键。 哪些键盘快捷键是已知的取决于用户的系统 . 使用keydown事件实现键盘快捷键。