Apabila KeyboardEvent
berlaku kebakaran, anda boleh menguji kunci mana yang ditekan kerana peristiwa itu mengandungi maklumat yang boleh anda gunakan untuk menulis logik.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
Contohnya, dengan menekan "a", anda akan mendapat 65
. Nampaknya lebih baik menulis logik yang mana, kerana keyCode dan charCode rumit:
Event.which properti menormalkan event.keyCode dan event.charCode. Dianjurkan untuk menonton acara. Yang mana untuk memasukkan kekunci papan kekunci.
Dan:
Dalam peristiwa penekanan kekunci, nilai Unicode dari kekunci yang ditekan disimpan dalam sifat keyCode atau charCode, tidak pernah keduanya. Sekiranya kekunci yang ditekan menghasilkan watak (mis. 'A'), charCode ditetapkan ke kod watak itu, dengan menghormati huruf besar. (iaitu charCode mengambil kira sama ada kekunci shift ditahan). Jika tidak, kod kekunci yang ditekan disimpan dalam keyCode.
Alat Penguji
Lihat penguji event.keyCode Pen oleh Chris Coyier (@chriscoyier) di CodePen.
Nilai kod kunci
Berikut adalah jadual yang mengandungi nilai dari event.which
.
|
|
|
Zell Liew menyedari bahawa 3 daripada kod ini berbeza di Firefox daripada penyemak imbas yang lain
;
adalah 59 di Firefox tetapi 186 di penyemak imbas lain.=
adalah 61 di Firefox tetapi 187 di penyemak imbas lain.-
ialah 173 di Firefox tetapi 189 di penyemak imbas lain.
Catatan penting: Nilai kod kunci ini hanya berlaku semasa keydown
dan dalam keyup
acara. Di Mac, keypress
acara memberi anda sekumpulan kod yang sama sekali berbeza.
Sebagai contoh:
Kunci | event.which dalam kekunci | event.which dalam menekan kekunci |
a | 65 | 97 |
b | 66 | 98 |
c | 67 | 99 |