【发布时间】:2013-01-08 17:12:43
【问题描述】:
我正在编写一个应用程序,它需要能够获取键盘上按下的数字的值。我想出了以下代码:
var keyVal = "";
$(document).on("keydown.xRuleKey", function(e) {
var keyChar = String.fromCharCode(e.which);
if (!isNaN(keyChar)) {
keyVal += keyChar;
}
})
这适用于键盘顶部的数字,但是当我使用小键盘时,返回字符“`abcdefghi”而不是“0123456789”。这是正常的还是我的键盘很奇怪?如果这是正常的,那么简单地设置一个键/值对来将字母转换为它的数字等价物是安全的,否则会与其他任何东西发生冲突。我认为它不会与常规字母键冲突,因为它们返回大写字符而小键盘返回小写。
有什么想法吗?以前有人处理过吗?
【问题讨论】:
-
看看这里:stackoverflow.com/questions/5630918/…,有一个很棒的 jsfiddle 的链接:jsfiddle.net/AEMLoviji/tABDr
-
谢谢,这似乎可以解决问题,如果它在小键盘上,只需从 keyCode 中减去 48
-
@TryingToImprove 您应该将其发布为答案,以便 HuwD 可以接受。社区!
-
@ntgCleaner 是的,你说得对.. :-)
标签: javascript jquery keydown keyup