Selain itu, semua keyCode , yaitu , charCode , dan keyIdentifier sudah tidak digunakan lagi:
charCodedan keyIdentifiermerupakan fitur non-standar.
keyIdentifierdihapus pada Chrome 54 dan Opera 41.0 menampilkan
keyCode0, saat tombol ditekan dengan karakter normal di FF.
Properti kunci :
readonly attribute DOMString key
Menyimpan nilai atribut kunci yang sesuai dengan tombol yang ditekan
Pada saat penulisan ini, keyproperti ini didukung oleh semua browser utama seperti: Firefox 52, Chrome 55, Safari 10.1, Opera 46. Kecuali Internet Explorer 11 yang memiliki:
pengidentifikasi kunci non-standar dan perilaku yang salah dengan AltGraph. Info lebih lanjut
Jika itu penting dan / atau kompatibilitas ke belakang, maka Anda dapat menggunakan fitur deteksi seperti pada kode berikut:
Perhatikan bahwa keynilainya berbeda dari keyCodeor whichproperties karena: ini berisi nama kunci bukan kodenya. Jika program Anda membutuhkan kode karakter, maka Anda dapat memanfaatkan charCodeAt(). Untuk karakter tunggal yang dapat dicetak, Anda dapat menggunakan charCodeAt(), jika Anda berurusan dengan kunci yang nilainya berisi beberapa karakter seperti ArrowUp
kemungkinan: Anda menguji kunci khusus dan mengambil tindakan yang sesuai. Jadi cobalah menerapkan tabel nilai kunci dan kode yang sesuai mereka charCodeArr["ArrowUp"]=38, charCodeArr["Enter"]=13, charCodeArr[Escape]=27... dan seterusnya, silakan lihat di Nilai Key dan mereka kode yang sesuai
if(e.key!=undefined){
var characterCode = charCodeArr[e.key] || e.key.charCodeAt(0);
}else{
var characterCode = e.which || e.charCode || e.keyCode || 0;
}
Mungkin Anda ingin mempertimbangkan kompatibilitas ke depan, yaitu menggunakan properti lama saat tersedia, dan hanya jika dilepaskan, alihkan ke yang baru:
if(e.which || e.charCode || e.keyCode ){
var characterCode = e.which || e.charCode || e.keyCode;
}else if (e.key!=undefined){
var characterCode = charCodeArr[e.key] || e.key.charCodeAt(0);
}else{
var characterCode = 0;
}
Lihat juga: dokumenKeyboardEvent.code properti dan beberapa detail lainnya dalam jawaban ini .
.keydidukung di setiap pengembang