KeyboardEvent yang Properti
Contoh
Dapatkan nilai Unicode dari tombol keyboard yang ditekan:
var x = event.which;
Lebih banyak contoh "Coba Sendiri" di bawah ini.
Definisi dan Penggunaan
Properti which mengembalikan kode karakter Unicode dari kunci yang memicu event onkeypress , atau kode kunci Unicode dari kunci yang memicu event onkeydown atau onkeyup .
Perbedaan antara kedua jenis kode:
- Kode karakter - Angka yang mewakili karakter ASCII
- Kode kunci - Angka yang mewakili kunci sebenarnya pada keyboard
Jenis-jenis ini tidak selalu berarti hal yang sama; misalnya huruf kecil "w" dan huruf besar "W" memiliki kode keyboard yang sama, karena tombol yang ditekan pada keyboard sama (hanya "W" = angka "87"), tetapi berbeda kode karakter karena karakter yang dihasilkan berbeda (baik "w" atau "W", yaitu "119" atau "87") - Lihat "Contoh Lainnya" di bawah ini untuk lebih memahaminya.
Tip: Untuk mengetahui apakah pengguna menekan tombol yang dapat dicetak (misalnya "a" atau "5"), disarankan untuk menggunakan properti ini pada acara penekanan tombol. Untuk mengetahui apakah pengguna menekan tombol fungsi (misalnya "F1", "CAPS LOCK" atau "Home") gunakan event onkeydown atau onkeyup.
Catatan: Properti which tidak didukung di IE8 dan sebelumnya. Untuk versi browser ini, Anda dapat menggunakan properti keyCode . Namun, properti keyCode tidak berfungsi pada acara penekanan tombol di Firefox. Untuk solusi lintas browser, Anda dapat menggunakan kode berikut:
var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support
Tip: Untuk daftar semua karakter Unicode, silakan pelajari Referensi Unicode Lengkap kami .
Tip: Jika Anda ingin mengonversi nilai Unicode yang dikembalikan menjadi karakter, gunakan metode fromCharCode() .
Catatan: Properti ini hanya-baca.
Catatan: Properti which dan keyCode disediakan hanya untuk kompatibilitas. Versi terbaru dari DOM Events Specification merekomendasikan penggunaan properti key sebagai gantinya (jika tersedia).
Tip: Jika Anda ingin mengetahui apakah tombol "ALT", "CTRL", "META" atau "SHIFT" ditekan saat peristiwa kunci terjadi, gunakan properti altKey , ctrlKey , metaKey atau shiftKey .
Dukungan Peramban
Angka-angka dalam tabel menentukan versi browser pertama yang sepenuhnya mendukung properti.
Property | |||||
---|---|---|---|---|---|
which | Yes | 9.0 | Yes | Yes | Yes |
Sintaksis
event.which
Detail Teknis
Nilai Kembali: | Angka, mewakili kode karakter Unicode atau kode kunci Unicode |
---|---|
Versi DOM: | Acara DOM Tingkat 2 |
Lebih Banyak Contoh
Contoh
Menggunakan onkeypress dan onkeydown untuk menunjukkan perbedaan antara kode karakter dan kode keyboard:
<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;
}
Saat menekan tombol "a" pada keyboard (tidak menggunakan caps lock), hasil char dan kuncinya adalah:
Unicode CHARACTER code: 97
Unicode KEY code: 65
Contoh
Beri tahu beberapa teks jika pengguna menekan tombol Escape:
<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!");
}
}
Contoh
Ubah nilai Unicode menjadi karakter (tidak berfungsi untuk tombol fungsi):
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
Halaman Terkait
Referensi DOM HTML: Properti kunci KeyboardEvent
Referensi HTML DOM: KeyboardEvent keyCode Property
Referensi HTML DOM: Properti charCode KeyboardEvent