JavaScript HTML DOM keyCode 事件属性
-
keyCode 事件属性
两种代码类型之间的区别:- 字符代码 - 表示ASCII字符的数字
- 密钥代码 - 表示键盘上实际密钥的数字
这些类型并不总是意味着同样的事情;例如,小写字母“w”和大写字母“W”具有相同的键盘代码,因为键盘上按下的键是相同的(只是“W”=数字“87”),但是不同的字符代码,因为结果字符不同(“w”或“W”,即“119”或“87”) - 请参阅下面的“更多示例”以更好地理解它。提示:要确定用户是否按了可打印的键(例如“a”或“5”),建议在onkeypress事件中使用此属性。要确定用户是否按下了功能键(例如“F1”,“CAPSLOCK”或“Home”),请使用onkeydown或onkeyup事件。注意:在Firefox中,keyCode属性不适用于onkeypress事件(仅返回0)。对于跨浏览器解决方案,请将which属性与keyCode一起使用,例如:var x = event.which || event.keyCode; //使用which或keyCode,具体取决于浏览器支持
提示:有关所有Unicode字符的列表,请参阅我们的 完整Unicode参考。提示:如果要将返回的Unicode值转换为字符,请使用fromCharCode()方法。注意:此属性是只读的。注意:keyCode和which属性仅用于兼容性。最新版本的DOM事件规范建议使用key属性(如果可用)。获取按下的键盘键的Unicode值:
尝试一下var x = event.keyCode;
-
浏览器支持
项 IE/Edge Chrome FireFox Safari Opera 属性 keyCode 支持支持支持支持支持 -
语法
event.keyCode -
技术细节
项目 描述 返回值: 一个数字,表示Unicode字符代码或Unicode密钥代码 DOM版本 DOM Event Level 2 -
更多例子
使用onkeypress和onkeydown来演示字符代码和键盘代码之间的差异:
尝试一下<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char; } function uniKeyCode(event) { var key = event.keyCode; document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key; }
如果用户按下Escape键,则提醒一些文本:
尝试一下<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.keyCode; if (x == 27) { // 27 is the ESC key alert ("You pressed the Escape key!"); } }
将Unicode值转换为字符(不适用于功能键):
尝试一下var x = event.keyCode; // 获取Unicode值 var y = String.fromCharCode(x); // 将值转换为字符
-