点的键码是什么?

7

我需要为 Ctrl + . 定义一些事件,现在我需要知道点号键的编码是多少。我想要得到类似这样的东西:

Enter13

S83

250

根据这个网站

现在我想要知道 . 的编码是多少:{?}


1
你可以使用控制台记录事件并自行查找。 - Roland Starke
你链接的同一个网站有答案。 - alex
1
@alex 谢谢 :-) 是的,我现在看到答案了.. 但是为什么你没有告诉我 190 而是告诉我 "那个网站有答案" 呢? - stack
@stack 我原本是这样做的,但删除了,因为它已经有一个答案了。 - alex
你可以在这个网站上找到它:https://www.toptal.com/developers/keycode。 - Ishtiaq Ahmed
显示剩余3条评论
7个回答

19

1
没问题,在网站上有一个搜索框,您可以输入任何字符,它会给您提供键码,请不要忘记通过单击旁边的复选标记来标记正确答案。@stack - Mike Donkers

7
根据该网站,.的键码是190。

2
我也有过同样的经历,点号"."得到了46。 - Sabir Al Fateh
2
这取决于是“按键按下”还是“按键按下并释放”事件,以及您是否查看“键码”或“字符码”。 - ecoe

6

110也是一个点,但来自数字键盘。请注意/小心!


3

46 对我来说可行。

function logKeyCode(event){
   const keyCode = (event.which) ? event.which : event.keyCode;
    console.log('keyCode =',keyCode);
   if(keyCode==190 || keyCode==110 || keyCode==46){
      console.log('keyCode . detected');
      alert('keyCode . detected');
   }
  
}
<input type="text" onkeypress="logKeyCode(event)" />


这实际上是一个更好的解决方案。 - Mayur Saner
2
但是这将接受'n',因为110是'n'的代码。 - Mayur Saner
什么是解释?46是点(.)的ASCII码。为什么它必须包含三个不同的值,即190、110和46?这样做的理由是什么?那三个“魔数”是什么?其中一个是用于数字键盘吗?我们期望在Stack Overflow的回答中得到更多的内容,而不仅仅是代码转储。 - undefined
请通过编辑(更改)您的回答来回复,而不是在评论中回复(但是*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 不要 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** "编辑:","更新:"或类似的内容 - 回答应该看起来像是今天写的)。 - undefined

1

对于 Angular 8,我使用的是46

@HostListener("keypress", ["$event"]) onKeyPress(event) {
        let keyCode = parseInt(event.keyCode);

        if (keyCode == 46) {
        } else {
            event.preventDefault();
        }
    }

然后呢?为什么会有差异呢?46(十进制)是“.”的ASCII码。你确定它和问题中的那种编码是一样的吗? - undefined
在哪个浏览器上进行了测试?包括版本信息。 - undefined

1

如果您正在为您的应用程序定制键盘,请不要使用任何误导性的按键标签...

句点(.)字符的 KeyCode 是 56

//对于您的自定义键盘... 或者


1
这个标题看起来有些随意,您能否尝试重新表述/阐述一下,使其更有用? - Xesenix
56是打错了吗?“.”的ASCII码是46。而且这不是按键码,而是字符码,对吧? - undefined

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接