【问题标题】:Convert from characters to KeyCode从字符转换为 KeyCode
【发布时间】:2015-05-05 08:49:59
【问题描述】:

我每个人, 我必须将字符转换为 keyCode... 我不能转换为 charCode...

例如,如果我有一个“。” (一个点)我需要获得“190”作为结果..但是如果我这样做了

".".charCodeAt(0)

我得到“46”...“46”不是我想要的结果... 我也试过做

String.fromCharCode(190);

在这种情况下,我没有获得“。”但我得到“3/4”。

如何将字符转换为“190”?

更新 我必须将键盘的输入与“字符串”中的值进行比较......我需要做这样的事情

window.addEventListener('keydown', function(e){
    if(e.keyCode == ".") <-- I need to get the keyCode of the "."
    {
        //Do something
    }
});

这是一个例子....我不知道哪个是我需要比较的字符...它可能是“.”,或“,”,或其他东西...

谢谢大家。

【问题讨论】:

  • 我更新了我的问题...但是如果我按“。”在键盘上我可以看到“。”有代码 190...查看@Torean 的答案

标签: javascript char keycode


【解决方案1】:

我在想,你让我想起了我需要做的类似事情。您可以做的可能是使用 eventListener 并将代码记录到控制台。例如:

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

这只会注销键盘上每个按键的键码

这里是 JS fiddle 的链接:https://jsfiddle.net/ToreanJoel/09798khL/

【讨论】:

  • 我需要获取代码的字符不是来自键盘:(
  • 你用的是什么输入设备?
【解决方案2】:

虽然我没有将特殊字符转换为 keyCodes 的解决方案(也可以在此处查看我的答案:https://stackoverflow.com/a/49897083/9219743),但这里有另一种解决方案 - 只需使用:

if(e.key == '.') {//do something}

所以比较e.key(这是实际字符)而不是e.keyCode

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 2015-09-12
    • 2014-01-01
    • 1970-01-01
    • 2011-09-22
    • 2017-06-11
    相关资源
    最近更新 更多