【问题标题】:How can i get the character of a key code我怎样才能得到一个键码的字符
【发布时间】:2021-12-28 08:09:38
【问题描述】:

我有一些捕获密钥的代码。

现在我在 event.code 中有真正的键名,在 event.key 中我得到了键字符。 举个例子:我按 SHIFT 和 J,所以我得到: event.code: SHIFT KEYJ event.key: J

所以,我在 event.key 中获得了 shift J 的“解释键”。但现在我需要将本机键转换为字符。所以我正在寻找一种从“KEYJ”到字符的解决方案,这意味着“j”。如何才能做到这一点?我没有找到任何关于此的信息。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请访问help center,以tour 了解内容和How to Ask。做一些研究,搜索关于 SO 的相关主题;如果您遇到困难,请发布您尝试的minimal reproducible example,注意输入和预期输出,最好在Stacksnippet
  • event.key.toLowerCase() ?
  • 这适用于普通字符,但不适用于特殊字符,例如班次#

标签: javascript keycode


【解决方案1】:

您可以使用Optional chaining (?.)

document.querySelector("[type=text]").addEventListener("keypress",function(e) {
  console.log(
  e.key,
  e.key?.toLowerCase(),
  e.shiftKey,
  e.altKey,
  e.code
  )
})
<input type="text" />

【讨论】:

    【解决方案2】:

    不,抱歉,您误会了。问题不在于普通字符的小写。我想在没有“Shift”的情况下获取所有键的字符。所以,我想使用“shift #”而不是“'”。我想回到真正的钥匙。所以我必须从 event.code 中获取键的 char 值。在这种情况下,我从 event.code 中得到“反斜杠”。没有移位的反斜杠是什么键?有了 shift 我可以通过 event.key 得到这个,我知道。

    【讨论】:

    • 您好,以后如果您要回复答案,请尝试以对答案的评论而不是单独的答案的形式这样做。这样,发布答案的人会收到通知,并且该线程对于将来查看的人来说会更加清晰。
    猜你喜欢
    • 2016-10-16
    • 2018-05-17
    • 2015-12-15
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    相关资源
    最近更新 更多