【发布时间】:2011-03-21 05:07:47
【问题描述】:
我很幸运能找到String.fromCharCode()。它对我有很大帮助。但是,我注意到它没有考虑到 shift 修饰符。我知道 event.shiftKey 属性并使用它,但现在我需要获取考虑到 shift 键修饰符的键值(例如:“A”或“a”)。起初我使用String.toLowerCase().. 但我忽略了数字键,举个例子:“5”(不带移位)和“%”(带移位)。我需要在我的程序中区分这两者。获取键字符值的简单方法是什么?
【问题讨论】:
-
问题的上下文是什么。您是否尝试查看在 keypress、keyup、keydown 事件期间是否按下了 ShiftKey。还是您正在评估一串字符并想知道它是大写/小写还是数字/特殊字符?
-
我知道如何检查在按键事件期间是否按下了 shift 键。我要问的是是否有任何方法可以让按键的字符被按下(一种考虑到 shift 键的方法)
-
目前还不清楚你想要什么。您想要输入的实际字符吗?实际按下的物理键?
-
我一直在使用 String.fromCharCode() 从键码中获取键值,如下所示: String.fromCharCode(/* KEYCODE FOR 'A' */) // 'A' 是否持有是否下移,值始终为“A”(大写 A)。现在仍然没有问题。在这种情况下,我只检查 shift 键是否未按下(并且大写锁定已关闭)并使用 String.toLowerCase()。这按预期工作(该值通常为“a”,而带有 shift 的“A”)。现在问题来了,当我输入数字时(因为 String.toUpperCase("1")=="1") 我真正想要的是应用 shift 以便我得到: ("1" without shift and "!" with shift )
标签: javascript events char key