Kode tombol Num Lock di JavaScript

Untuk Num Lock, event.key bernilai NumLock, event.code bernilai NumLock, dan keyCode yang sudah usang bernilai 144. Tekan tombol apa pun di Key Code Finder untuk melihat nilainya secara langsung.

Diperbarui

PropertiNilai
event.keyNumLock
event.codeNumLock
event.keyCode / which (usang)144

Cara mendeteksi Num Lock

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

Gunakan event.key untuk bereaksi terhadap arti 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.

Perilaku browser terhadap Num Lock

Saat Num Lock mati, tombol numpad mengirim tombol navigasi (Home, End, panah) alih-alih angka. Periksa event.getModifierState("NumLock").

Di React

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

Pertanyaan yang sering diajukan

Apa keyCode untuk Num Lock?
144. Namun, properti ini sudah usang, jadi gunakan event.key (“NumLock”) atau event.code (NumLock) 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, yang 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.