charCode 事件属性
HTML DOM 事件属性 charCode 返回 onkeypress 事件触发键值的字母代码
语法
event.charCode
浏览器支持
Yes | 9.0+ | Yes | Yes | Yes |
返回值
数字,表示 Unicode 字符代码
说明
Unicode 字符代码是一个字母的数字 (如数字 "97" 代表字母 "a")
所有 Unicode 字符列表可查看我们的 完整 Unicode 参考手册
如果需要将 Unicode 值转换为字符,可以使用 fromCharCode() 方法
如果该属性用于 onkeydown 或 onkeyup 事件,返回值总为 "0"
该属性是只读的
which 和 keyCode 属性提供了解决浏览器的兼容性的方法,最新版本的 DOM 事件推荐使用 key 属性来替代该方法
IE8 及其更早版本不支持 which 属性。不支持的浏览器可使用 keyCode 属性。但是, keyCode 属性在 Firefox 浏览器的 onkeypress 事件中是无效的。 兼容这些浏览器你可以使用以下代码
// 使用 **charCode** 或 **keyCode** , 这样可支持不同浏览器 var x = event.charCode || event.keyCode;
同样可以使用 keyCode 属性来检测特殊的按键 (如 "caps lock" 或 箭头按键), keyCode 和 charCode 属性提供了解决浏览器的兼容性的方法,最新版本的 DOM 事件推荐使用 key 属性来替代该方法
如果想查看是否按下了 "ALT", "CTRL", "META" 或 "SHIFT" 键,可使用 altKey , ctrlKey , metaKey 或 shiftKey 属性
范例
获取按下的键盘按键 Unicode 值
var x = event.charCode;
范例
获取按键 Unicode 值的浏览器兼容解决办法
// 如果浏览器不支持 charCode, 则使用 keyCode ( IE8 及更早版本) var x = event.charCode || event.keyCode;
范例
当用户按下 "O" 键时,弹出提示信息
function myFunction(event) { var x = event.charCode || event.keyCode; if (x == 111 || x == 79) { // o 是 111, O 是 79 alert("你按下了 'O' 键!"); } }
范例
将 Unicode 值转换为字符
var x = event.charCode || evt.keyCode; // 获取 Unicode 值 var y = String.fromCharCode(x); // 将值转换为字符
相关页面
HTML DOM 参考手册: key 事件属性
HTML DOM 参考手册: keyCode 事件属性
HTML DOM 参考手册: which 事件属性