Atribut which KeyboardEvent
Definisi dan penggunaan
atribut which mengembalikan yang diaktifkan Peristiwa onkeypress Kod aksara Unicode kepadan yang diaktifkan, atau onkeydown 或 onkeyup Kod kepadan Unicode yang ditekan untuk kepadan acara
Perbezaan antara kedua jenis kod:
- Kod aksara - wakil nombor untuk aksara ASCII
- Kod kepadan - wakil nombor untuk kepadan sebenar di papan kekunci
Jenis ini bukan selalu bermakna yang sama. Contohnya, kod papan kekunci kecil "w" dan besar "W" adalah sama kerana kepadan yang ditekan di papan kekunci adalah sama ("W" = nombor "87"), tetapi kod aksara berbeza kerana aksara yang dihasilkan adalah berbeza ("w" atau "W", iaitu "119" atau "87") - sila lihat contoh di bawah untuk mendapat pemahaman yang lebih baik.
提示:Jika ingin mengetahui sama ada pengguna menekan kepadan yang boleh dicetak (contohnya "a" atau "5"), disarankan untuk menggunakan sifat ini di acara onkeypress.Untuk mengetahui sama ada pengguna menekan kepadan fungsi (contohnya "F1", "CAPS LOCK" atau "Home"), gunakan acara onkeydown atau onkeyup.
注释:IE8 及更早版本不支持 which 属性。对于这些浏览器版本,您可以使用 keyCode 属性。但是,keyCode 属性对 Firefox 中的 onkeypress 事件不起作用。为了跨浏览器解决方案,您可以使用如下代码:
var x = event.which || event.keyCode; // 使用 which 还是 keyCode,取决于浏览器支持
提示:有关所有 Unicode 字符的列表,请参阅我们的 完整 Unicode 参考。
提示:如果要将 Unicode 值转换为字符,请使用 fromCharCode() 方法。
注释:该属性只读。
注释:提供 keyCode 和 which 属性只是为了兼容性。最新版本的 DOM 事件规范建议使用 key 属性代替(如果可用)。
提示:如果您想知道在发生按键事件时是否按下了 "ALT"、"CTRL"、"META" 或 "SHIFT" 键,请使用 altKey、ctrlKey、metaKey 或 shiftKey 属性。
语法
event.which
技术细节
返回值: | 数字值,表示 Unicode 字符代码或 Unicode 键盘代码。 |
---|---|
DOM 版本: | DOM Level 2 Events |
浏览器支持
表中的数字注明了完全支持该属性的首个浏览器版本。
属性 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
which | 支持 | 9.0 | 支持 | 支持 | 支持 |
更多实例
Contoh
使用 onkeypress 和 onkeydown 来演示字符代码与键盘代码之间的区别:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; // event.keyCode digunakan untuk versi IE8 dan sebelumnya document.getElementById("demo").innerHTML = "Kode CARAKTER Unicode: " + char; } function uniKeyCode(event) { var key = event.which || event.keyCode; // event.keyCode digunakan untuk versi IE8 dan sebelumnya document.getElementById("demo2").innerHTML = "Kode KEY Unicode: " + key; }
Sekiranya menekan kepadan "a" di atas papan kepadan (tanpa menggunakan Capslock), hasil char dan key adalah:
Kode CARAKTER Unicode: 97 Kode KEY Unicode: 65
Contoh
Jika pengguna menekan kepadan Escape, tampilkan beberapa teks:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.which || event.keyCode; // event.keyCode digunakan untuk versi IE8 dan sebelumnya if (x == 27) { // 27 adalah kepadan ESC alert ("Anda menekan kepadan Escape!"); } }
Contoh
Menyenaraikan nilai Unicode kepada aksara (tidak digunakan untuk tombol fungsi):
var x = event.which || event.keyCode; // Dapatkan nilai Unicode var y = String.fromCharCode(x); // Menyenaraikan nilai kepada aksara
Laman Berkenaan
Panduan HTML DOM:Sifat key KeyboardEvent
Panduan HTML DOM:Sifat keyCode KeyboardEvent
Panduan HTML DOM:Sifat charCode KeyboardEvent