Kode tombol Spasi di JavaScript

Untuk Spasi, event.key adalah " " (a space), event.code adalah Space, dan keyCode yang sudah usang adalah 32. Tekan tombol apa pun di Key Code Finder untuk melihat nilainya secara langsung.

Diperbarui

PropertiNilai
event.key" " (a space)
event.codeSpace
event.keyCode / which (usang)32

Cara mendeteksi Spasi

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

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

Bagaimana browser menangani Spasi

Nilai key-nya adalah karakter spasi tunggal, bukan “Space”. Spasi mengaktifkan tombol dan checkbox serta menggulir halaman jika tidak ada yang menanganinya. Panggil preventDefault() jika kontrol kustommu memakainya, atau halaman akan melompat.

Di React

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

Pertanyaan yang sering diajukan

Berapa keyCode untuk Spasi?
32. Tapi ini sudah usang, jadi gunakan event.key (“ (spasi)”) atau event.code (Space) di kode baru.
Apa perbedaan 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 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.