charCode与keyCode的区别
Posted codeing or artist ?
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了charCode与keyCode的区别相关的知识,希望对你有一定的参考价值。
在标准浏览器下获取键盘按键我们可以使用e.which,但是非标准下没有这个属性,所以大部分情况下用keyCode,但是这是存在兼容性问题的。我们来看下他两的区别:
onkeydown: e.keyCode 有值
onkeyup: e.keyCode 有值
onkeypress: e.keyCode 为0
onkeydown: e.charCode 为0
onkeyup: e.charCode 为0
onkeypress: e.charCode 有值
结论:charCode 返回onkeypress事件触发键值的字母代码。
keyCode 返回 onkeydown 或 onkeyup 事件的键的代码。
做一下兼容处理:
function myFunction(e) { e || (e = window.event); if(e.which == null){ e.which = e.charCode != null ? e.charCode : e.keyCode; } }
以上是关于charCode与keyCode的区别的主要内容,如果未能解决你的问题,请参考以下文章