Javascript详解之charCode、keyCode、which属性
作者:邹阳 | 发表于:2016-04-16 15:08:36
阅读量:(268) | 所属栏目:编程
一、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大写
且只能在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大写