Mã phím Num Lock trong JavaScript

Với Num Lock, event.key là NumLock, event.code là NumLock và keyCode (đã lỗi thời) là 144. Nhấn phím bất kỳ trong Key Code Finder để xem giá trị của phím đó ngay lập tức.

Cập nhật

Thuộc tínhGiá trị
event.keyNumLock
event.codeNumLock
event.keyCode / which (đã lỗi thời)144

Cách nhận biết Num Lock

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

Dùng event.key để phản ứng theo ý nghĩa của phím (giá trị này thay đổi theo bố cục bàn phím) và event.code để xác định vị trí vật lý của phím, ví dụ như WASD trong game. keyCode và which đã lỗi thời: chúng vẫn hoạt động, nhưng giá trị khác nhau giữa các trình duyệt và bố cục bàn phím.

Trình duyệt xử lý Num Lock như thế nào

Khi Num Lock tắt, cụm phím số sẽ gửi các phím điều hướng (Home, End, mũi tên) thay vì chữ số. Hãy kiểm tra event.getModifierState("NumLock").

Trong React

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

Câu hỏi thường gặp

Mã keyCode của Num Lock là gì?
144. Tuy nhiên, thuộc tính này đã lỗi thời, nên trong code mới bạn nên dùng event.key (“NumLock”) hoặc event.code (NumLock).
Sự khác nhau giữa event.key và event.code là gì?
event.key là ký tự hoặc hành động mà phím tạo ra với bố cục hiện tại; event.code là vị trí vật lý của phím, giống nhau trên mọi bố cục bàn phím.
Nên dùng keydown hay keypress?
keydown. Sự kiện keypress đã lỗi thời và không kích hoạt với các phím không tạo ký tự, chẳng hạn Escape hoặc các phím mũi tên.