【问题标题】:Keycode detection on AZERTY vs. QWERTYAZERTY 与 QWERTY 上的键码检测
【发布时间】:2018-01-19 07:36:50
【问题描述】:

如何在 JavaScript 中检测 AZERTY 键盘上问号的输入? 在 QWERTY 键盘上,问号会生成代码 191, 但在 AZERTY 上,它似乎生成代码 188(QWERTY 上的逗号)。 或者我应该区分 JavaScript 中的两个键盘,但是如何区分?

【问题讨论】:

  • 您可以在键入某些字符时监视按下的键。就像 QWERTY 一样,它是 Shift/ 键。但我想只有Shift 会可见。但我不知道有什么方法可以确定使用 JavaScript 使用哪种布局

标签: javascript keycode qwerty azerty-keyboard


【解决方案1】:

如果您想检测输入的字符,请使用KeyboardEvent.key,而不是KeyboardEvent.code——key 属性将包含输入的字符(如"?") , 或类似 "Shift""ArrowUp" 的字符串作为特殊键。键盘上键的位置不会影响结果。

$("#f").on("keydown", function(ev) {
  $(this).val(ev.key);
  return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="f" autocomplete="off">

【讨论】:

    【解决方案2】:

    我能想到的最快的解决方案是将密钥与实际的问号进行比较,所以这样的解决方案是一个很好的解决方案。

    document.addEventListener('keydown', function(event) {
        if (event.key && event.key === '?') {
            // your code goes here
        }
    }, true);
    

    【讨论】:

      猜你喜欢
      • 2020-07-29
      • 2018-03-28
      • 2013-01-23
      • 2012-05-28
      • 2015-02-08
      • 2013-10-26
      • 1970-01-01
      • 2019-03-30
      • 1970-01-01
      相关资源
      最近更新 更多