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的区别的主要内容,如果未能解决你的问题,请参考以下文章

键盘event.which属性

jQuery

在数字之间添加空格

charAt,charCode,fromCharCode区别

arcgis for js 闪烁

jquery绑定回车事件