Acara keydown terjadi ketika tombol ditekan, diikuti segera oleh acara penekanan tombol. Kemudian acara keyup dihasilkan ketika kunci dilepaskan.
Untuk memahami perbedaan antara keydown dan menekan tombol , hal ini berguna untuk membedakan antara karakter dan kunci . Sebuah kunci adalah tombol fisik pada keyboard komputer. Sebuah karakter adalah simbol diketik dengan menekan sebuah tombol. Pada keyboard AS, menekan 4tombol sambil menahan Shifttombol biasanya menghasilkan karakter "tanda dolar". Ini belum tentu terjadi pada setiap keyboard di dunia. Secara teori, peristiwa keydown dan keyup mewakili tombol yang ditekan atau dilepaskan, sedangkan penekanan tombolacara mewakili karakter yang diketik. Dalam praktiknya, ini tidak selalu seperti yang diterapkan.
Untuk sementara, beberapa browser meluncurkan acara tambahan, yang disebut textInput , segera setelah tombol ditekan . Versi awal standar DOM 3 dimaksudkan ini sebagai pengganti acara penekanan tombol , tetapi seluruh gagasan kemudian dicabut. Webkit mendukung ini antara versi 525 dan 533, dan saya diberitahu bahwa IE mendukungnya, tetapi saya tidak pernah mendeteksinya, mungkin karena Webkit mengharuskannya disebut textInput sedangkan IE menyebutnya textinput .
Ada juga peristiwa yang disebut input , didukung oleh semua browser, yang dipecat tepat setelah perubahan dilakukan ke textarea atau bidang input. Biasanya penekanan tombol akan menyala, maka karakter yang diketik akan muncul di area teks, kemudian input akan diaktifkan. Acara masukan tidak benar-benar memberikan informasi tentang kunci apa yang diketik - Anda harus memeriksa kotak teks untuk mencari tahu apa yang berubah - jadi kami tidak benar-benar menganggapnya sebagai peristiwa utama dan tidak benar-benar mendokumentasikannya di sini . Meskipun awalnya hanya didefinisikan untuk textareas dan kotak input, saya percaya ada beberapa gerakan menuju generalisasi untuk menembak pada objek jenis lain juga.