Atribut which KeyboardEvent
Definisi dan penggunaan
Atribut which mengembalikan yang diaktifkan Peristiwa onkeypress Kode karakter Unicode yang diklik, atau yang mengeaktifkan onkeydown atau onkeyup Kode tombol Unicode yang diklik di acara
Perbedaan antara tipe kode keduanya:
- Kode karakter - merepresentasikan angka yang mewakili karakter ASCII
- Kode tombol - merepresentasikan angka yang mewakili tombol yang sebenarnya di papan ketik
Tipe ini tidak selalu berarti hal yang sama. Contoh, kode tombol kecil "w" dan besar "W" sama di papan ketik, karena tombol yang ditekan sama ("W" = angka "87"), tetapi kode karakter berbeda, karena karakter yang dihasilkan berbeda ("w" atau "W", yaitu "119" atau "87") - silakan lihat contoh di bawah untuk memahami ini lebih baik.
Petunjuk:Untuk mengetahui apakah pengguna menekan tombol yang dapat dicetak (contoh "a" atau "5"), disarankan untuk menggunakan atribut ini di acara onkeypress. Untuk mengetahui apakah pengguna menekan tombol fungsi (contoh "F1", "CAPS LOCK" atau "Home"), gunakan acara onkeydown atau onkeyup.
Keterangan:Versi IE8 dan yang lebih awal tidak mendukung atribut which. Untuk versi browser ini, Anda dapat menggunakan atribut keyCode. Namun, atribut keyCode tidak berfungsi untuk peristiwa onkeypress di Firefox. Untuk solusi multi-browser, Anda dapat menggunakan kode berikut:
var x = event.which || event.keyCode; // Gunakan which atau keyCode, tergantung dukungan browser
Petunjuk:Untuk daftar semua karakter Unicode, lihat Pengambilan referensi Unicode lengkap.
Petunjuk:Jika ingin mengkonversi nilai Unicode ke karakter, gunakan fromCharCode() method.
Keterangan:Atribut ini hanya-baca.
Keterangan:keyCode dan which digunakan hanya untuk kompatibilitas. Versi terbaru standar peristiwa DOM menyarankan untuk menggunakan atribut key (jika tersedia).
Petunjuk:Jika Anda ingin mengetahui apakah tombol "ALT", "CTRL", "META", atau "SHIFT" ditekan saat terjadi peristiwa tombol, gunakan altKey、ctrlKey、metaKey atau shiftKey Atribut.
Contoh
Ambil nilai Unicode tombol papan tombol yang ditekan:
var x = event.which;
Ada banyak contoh TIY lainnya di bawah halaman.
Sintaks
event.which
Detil teknis
Nilai kembalian: | Nilai angka, yang merepresentasikan kode karakter Unicode atau kode papan tombol Unicode. |
---|---|
Versi DOM: | DOM Level 2 Events |
Dukungan browser
Angka di tabel menunjukkan versi browser pertama yang mendukung atribut ini penuh.
Atribut | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
which | Dukungan | 9.0 | Dukungan | Dukungan | Dukungan |
Beberapa contoh lain
Contoh
Gunakan onkeypress dan onkeydown untuk menunjukkan perbedaan antara kode karakter dan kode papan tombol:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; // event.keyCode digunakan untuk IE8 dan versi sebelumnya document.getElementById("demo").innerHTML = "Kode Karakter Unicode: " + char; } function uniKeyCode(event) { var key = event.which || event.keyCode; // event.keyCode digunakan untuk IE8 dan versi sebelumnya document.getElementById("demo2").innerHTML = "Kode KEY Unicode: " + key; }
Ketika menekan tombol "a" di papan ketik (tanpa menggunakan Capslock), hasil char dan key akan:
Kode Karakter Unicode: 97 Kode KEY Unicode: 65
Contoh
Jika pengguna menekan tombol Escape, tampilkan beberapa teks:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.which || event.keyCode; // event.keyCode digunakan untuk IE8 dan versi sebelumnya if (x == 27) { // 27 adalah tombol ESC alert ("Anda menekan tombol Escape!"); } }
Contoh
Mengubah nilai Unicode menjadi karakter (tidak berlaku untuk tombol fungsi):
var x = event.which || event.keyCode; // Mendapatkan nilai Unicode var y = String.fromCharCode(x); // Mengubah nilai menjadi karakter
Halaman yang berhubungan
Referensi HTML DOM:Properti key KeyboardEvent
Referensi HTML DOM:Properti keyCode KeyboardEvent
Referensi HTML DOM:Properti charCode KeyboardEvent