Properti keyCode KeyboardEvent

Definisi dan penggunaan

Attri keyCode yang mengembalikan triggar Peristiwa onkeypress Kod aksara Unicode kekunci yang digunakan, atau triggar onkeydownPeristiwa onkeyup Kekunci yang mempunyai kod kekunci Unicode.

Perbezaan jenis kod dua jenis

  • Kod aksara - Nombor yang mewakili aksara ASCII
  • 按键代码 - 代表键盘上实际键的数字

这些类型并不总是意味着同样的事情。例如,小写 "w" 和大写 "W" 的键盘代码相同,因为在键盘上按下的键是相同的("W" = 数字 "87"),但字符代码不同,因为 resulting 字符是不同的("w" 或 "W",即 "119" 或 "87")- 请查看下面的更多实例,可以对这一点有更好的理解。

提示:如需了解用户是否按下了可打印的键(例如 "a" 或 "5"),建议在 onkeypress 事件上使用此属性。要了解用户是否按下了功能键(例如 "F1"、"CAPS LOCK" 或 "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 属性代替(如果可用)。

提示:如果您想知道在发生按键事件时是否按下了 "ALT"、"CTRL"、"META" 或 "SHIFT" 键,请使用 altKeyctrlKey/、metaKeyshiftKey 属性。

实例

例子 1

获取按下的键盘按键的 Unicode 值:

var x = event.keyCode;

Cuba sendiri

例子 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 = "Kod AKSARA Unicode: " + char;
}
function uniKeyCode(event) {
  var key = event.keyCode;
  document.getElementById("demo2").innerHTML = "Kod KEY Unicode: " + key;
}

Ketika menekan kepadan "a" di papan kepadan (tanpa menggunakan Capslock), hasil char dan key adalah:

Kod AKSARA Unicode: 97
Kod KEY Unicode: 65

Cuba sendiri

Contoh 3

Jika pengguna menekan kepadan Escape, tunjukkan teks yang ditampilkan:

<input type="text" onkeydown="myFunction(event)"> 
function myFunction(event) {
  var x = event.keyCode;
  if (x == 27) {  // 27 adalah kepadan ESC
    alert ("Anda menekan kepadan Escape!");
  }
}

Cuba sendiri

Contoh 4

Convert nilai Unicode ke aksara (tidak digunakan untuk tombol fungsi):

var x = event.keyCode;                // Dapatkan nilai Unicode
var y = String.fromCharCode(x);       // Convert nilai ke aksara

Cuba sendiri

Syarat

event.keyCode

Detil Teknologi

Hasil balik: Nilai nombor, merepresentasikan kod Unicode aksara atau kod tombol Unicode.
Versi DOM: Peristiwa DOM Level 2

Dukungan Pemeriksa

Sifat Chrome IE Firefox Safari Opera
keyCode Dukungan Dukungan Dukungan Dukungan Dukungan

Laman berkaitan

Panduan HTML DOM:Sifat key KeyboardEvent

Panduan HTML DOM:Sifat charCode KeyboardEvent

Panduan HTML DOM:Sifat which KeyboardEvent