keyCode属性返回onkeypress事件触发的键值的字符代码,或onkeydown/onkeyup的键的代码。

两种代码类型的区别是:

字符代码 - 表示 ASCII 字符的数字

键盘代码 - 表示键盘上真实键的数字

HTML:

<input type="text" id="test" onkeydown="testKeyCode();">

JS:

//按下回车键处理程序
function testKeyCode(){
    var e = e||window.event; //兼容IE浏览器,IE8将事件对象保存为一个全局变量event
    console.log(e);
}

把事件源对象打印出来,看看有哪些常见的属性

键值 keyCode事件属性_keycode


现在想要知道按键对应的键值,我们可以这么做

JS:

function testKeyCode(){
    var e = e||window.event;
    console.log(e);
    var x = e.keyCode; //获取Unicode值,例如enter的keycode是13,A的keycode是65
    console.log(x);
    var y = String.fromCharCode(x);  //将键值转换为字符
    console.log(y);
    var z = e.key;  //key 事件在按下按键时返回按键的标识符
    console.log(z);
}


在页面输入框中分别输入a,回车键,大写字母键,右箭头键,查看控制台

键值 keyCode事件属性_javascript_02

附上Keycode完整的值列表

键值 keyCode事件属性_事件属性_03