使用e.keyCode || e.which; 如何确定小写和大写之间的区别?

我正在使用e.keyCode || e.which; e.keyCode || e.which; 确定按下了哪个键,但是我和A都得到65,为什么会发生这种情况,我如何才能发现两者之间的差异?

只需在jquery中使用e.which 。 它们为所有浏览器规范化此值。

另外,您可以检查e.shiftKey

无论是“a”还是“A”,65都是键盘上按下键的结果,该键总是为65。

该事件仅指定按下哪个键而不是其值; 这是两件事。 您可以测试event.shiftKey以及您正在寻找的密钥,但我不相信这将处理启用Caps Lock的情况。

这在vanilla JavaScript中非常突破了浏览器,这就是为什么你应该使用Josiah Ruddell的解决方案。 请阅读本文 ,了解更多信息。

keyCode不会指示输入了哪个字符。
要真正找到用户最后输入的字符,您需要检查输入的值并找到最后一个字符。

此脚本对于小写和大写字母按下非常有用

 
Char: Keycode: