我正在使用e.keyCode || e.which;
来确定按下了哪个键,但是我发现无论是a还是A,我都会得到65,这是为什么?如何区分这两者之间的差异?
我正在使用e.keyCode || e.which;
来确定按下了哪个键,但是我发现无论是a还是A,我都会得到65,这是为什么?如何区分这两者之间的差异?
在jQuery中,只需使用e.which
即可。它会为所有浏览器规范化此值。
此外,您还可以检查e.shiftKey
。
这个脚本对于大小写字母的输入非常有用。
<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>
使用纯JavaScript编写时,这在跨浏览器方面存在严重的问题,因此您应该使用Josiah Ruddell的解决方案。请参见this article,了解更多信息。
keyCode无法指示输入的字符。
要真正找到用户最后输入的字符,您需要检查输入的值并查找最后一个字符。