Kode tombol Tab di JavaScript

Untuk Tab, event.key adalah Tab, event.code adalah Tab, dan keyCode yang sudah usang adalah 9. Tekan tombol apa pun di Key Code Finder untuk melihat nilainya secara langsung.

Diperbarui

PropertiNilai
event.keyTab
event.codeTab
event.keyCode / which (usang)9

Cara mendeteksi Tab

document.addEventListener('keydown', (event) => {
  if (event.key === "Tab") {
    // Tab was pressed
  }
});

Gunakan event.key untuk bereaksi terhadap makna tombol (mengikuti tata letak keyboard) dan event.code untuk posisi fisiknya, misalnya WASD di game. keyCode dan which sudah usang: keduanya masih berfungsi, tetapi nilainya berbeda antar browser dan tata letak.

Bagaimana browser menangani Tab

Tab memindahkan fokus ke elemen berikutnya yang bisa difokuskan, dan Shift+Tab ke elemen sebelumnya. Tangkap tombol ini hanya di widget yang membutuhkannya, seperti editor kode, dan sediakan jalan keluar bagi pengguna keyboard (misalnya Escape, lalu Tab).

Di React

<input onKeyDown={(e) => { if (e.key === "Tab") { /* … */ } }} />

Pertanyaan yang sering diajukan

Berapa keyCode untuk Tab?
9. Namun, properti ini sudah usang: gunakan event.key (“Tab”) atau event.code (Tab) di kode baru.
Apa perbedaan antara event.key dan event.code?
event.key adalah karakter atau aksi yang dihasilkan tombol dengan tata letak saat ini; event.code adalah posisi fisik tombol, dan posisinya sama di setiap tata letak.
Sebaiknya pakai keydown atau keypress?
keydown. Event keypress sudah usang dan tidak terpicu untuk tombol yang tidak menghasilkan karakter, seperti Escape atau tombol panah.