首页 > 代码库 > charCode与keyCode的区别

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的区别