更多"Try it Yourself"下面的例子。
定义和用法
该该属性返回触发键的Unicode字符代码onkeypress事件的事件,或者触发关键的Unicode键码的onkeydown或的onkeyup事件。
两个代码类型之间的区别:
- 字符代码 - 一个数字表示一个ASCII字符
- 键码 - 一个数字代表了键盘上的实际键
这些类型并不总是意味着同样的事情; 例如,较低的情况下"w"和上壳体"W"具有相同的键盘代码,因为当按下键盘上的键是相同的(just "W" = the number "87") ,但具有不同字符代码,因为所得到的字符是不同的(任一"w"或"W" ,这是"119"或“87”) -参见"More Examples"下面,以更好地理解它。
提示:要了解,如果用户按下打印键(如"a"或“5”),建议使用此属性的onkeypress事件的事件。 要了解,如果用户按下功能键(如"F1" , "CAPS LOCK"或“家庭”)使用的onkeydown或onkeyup事件。
注:该属性没有在IE8和更早版本支持。 对于这些版本的浏览器,你可以使用的keyCode属性。 然而,keyCode属性不会在Firefox中的onkeypress事件事件工作。 对于一个跨浏览器的解决方案,你可以使用下面的代码:
var x = event.which || event.keyCode; // Use either which or keyCode ,
depending on browser support
提示:对于所有Unicode字符的列表,请学习我们完整的Unicode参考 。
提示:如果你想返回的Unicode值转换为字符,使用fromCharCode()方法。
注:此属性是只读的。
注:仅用于提供兼容性无论是它和keyCode属性。 在DOM事件规范的最新版本建议使用关键属性,而不是(if available) 。
提示:如果你想找出是否"ALT" , "CTRL" , "META"或"SHIFT"键被按下时的一个关键事件发生时,使用方altKey , 中ctrlKey , metaKey或Shift键,财产。
浏览器支持
在表中的数字规定,完全支持该财产浏览器版本。
属性 | |||||
---|---|---|---|---|---|
which | 是 | 9 | 是 | 是 | 是 |
句法
event .which
技术细节
返回值: | 一个数字,表示无论是Unicode字符码或Unicode的关键码 |
---|---|
DOM版本: | 2级DOM事件 |
更多示例
例
使用onkeypress事件和onkeydown事件证明字符代码和键盘码之间的差异:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">
function uniCharCode(event) {
var char = event.which ||
event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " +
char;
}
function uniKeyCode(event) {
var key = event.which
|| event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}
当按下"a"在键盘上键(not using caps lock) , 炭和关键将是的结果:
Unicode CHARACTER code: 97
Unicode KEY
code: 65
试一试» 例
提醒一些文本,如果用户按下Esc键:
<input type="text" onkeydown="myFunction(event)">
function
myFunction(event) {
var x = event.which || event.keyCode; //
event.keyCode is used for IE8 and earlier
if (x == 27) { // 27 is the ESC key
alert ("You pressed the Escape key!");
}
}
试一试» 例
转换的Unicode值到字符(does not work for function keys) :
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
试一试» 相关页面
HTML DOM参考: KeyboardEvent key Property
HTML DOM参考: KeyboardEvent keyCode Property
HTML DOM参考: KeyboardEvent charCode Property
<事件对象