我正在使用e.keyCode || e.which;
来确定按下了哪个键,但我为a
和A
获得了65,为什么会发生这种情况?如何检测两者之间的差异?
答案 0 :(得分:10)
在jquery中使用e.which
。它们会为所有浏览器规范化此值。
此外,您可以查看e.shiftKey
。
答案 1 :(得分:2)
无论是'a'还是'A',65是键盘按下键的结果,该键始终为65.
事件将仅指定按下哪个键而不是其值;这是两件事。您可以测试event.shiftKey以及您正在寻找的密钥,但我不相信它会处理启用Caps Lock的情况。
答案 2 :(得分:0)
此脚本适用于小写和大写字母按
<form>
Char: <input type="text" id="char" size="15" /> Keycode: <input type="text" id="unicode" size="15" />
</form>
<script type="text/javascript">
var charfield=document.getElementById("char")
charfield.onkeypress=function(e){
var e=window.event || e
var keyunicode=e.charCode || e.keyCode
document.getElementById("unicode").value=keyunicode
}
</script>
答案 3 :(得分:0)
这在vanilla JavaScript中非常具有跨浏览器功能,这就是为什么你应该使用Josiah Ruddell的解决方案。请参阅this article,了解更多信息。
答案 4 :(得分:0)
keyCode不会指示输入了哪个字符 要真正找到用户最后输入的字符,您需要检查输入的值并找到最后一个字符。