Javascript详解之charCode、keyCode、which属性

作者:邹阳 | 发表于:2016-04-16 15:08:36

阅读量:(196) | 所属栏目:编程

一、charCode  属性只能返回键盘上可以输出字符的键(例如abcd键)的Unicode 字符代码。
且只能在onkeypress事件下才有值,其他事件下只会返回0。
且在所有浏览器下,区分大小写。

二、keyCode 属性返回键盘上的任意键的Unicode 字符代码。(功能键,比如F1,在不同浏览器上有的显示,有的不显示,可能热键冲突)
在onkeydown下,所有浏览器只返回字母的大写代码(不区分大小写)(分号在FF下59 其他186)
在onkeypress下,所有浏览器区分大小写    FF无法返回键盘上可以输出字符的键(例如abcd键分号等)

三、which属性  返回onkeypress事件、onkeydown 或 onkeyup 事件 触发的键的值的字符代码。
onkeydown下只返回字母的大写代码(不区分大小写)及其他所有键的代码 
onkeypress下返回字母的大写或者小写代码(区分大小写)、其他所有键的代码返回0
IE8 及其更早版本不支持 which 属性。





结论:
只需要返回键盘上可以输出字符的键:使用onkeypress下的charCode,区分大小写    记忆:PC区分大小写
需要返回任意键:使用onkeydown下的e.keyCode属性或e.whitch属性,只返回字母的大写代码(不区分大小写)(不论keyCode或whitch,分号在FF下59 其他浏览器186)           记忆DK大写

回复内容:(还能输入1000字)
验 证 码: