Mã phím Caps Lock trong JavaScript

Với Caps Lock, event.key là CapsLock, event.code là CapsLock và keyCode đã lỗi thời là 20. Nhấn phím bất kỳ trong Key Code Finder để xem giá trị trực tiếp.

Cập nhật

Thuộc tínhGiá trị
event.keyCapsLock
event.codeCapsLock
event.keyCode / which (đã lỗi thời)20

Cách nhận biết Caps Lock

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

Dùng event.key để phản ứng theo ý nghĩa của phím (giá trị này phụ thuộc bố cục bàn phím) và event.code cho vị trí vật lý của phím, ví dụ 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.

Cách trình duyệt xử lý Caps Lock

Để cảnh báo người dùng rằng Caps Lock đang bật trong ô mật khẩu, hãy kiểm tra event.getModifierState("CapsLock") trên bất kỳ sự kiện phím nào. Thuộc tính này cho biết trạng thái khóa, không chỉ riêng phím đang nhấn.

Trong React

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

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

keyCode của Caps Lock là gì?
20. Tuy nhiên, giá trị này đã lỗi thời. Trong code mới, hãy dùng event.key (“CapsLock”) hoặc event.code (CapsLock).
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.
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 ra ký tự, chẳng hạn Escape hoặc các phím mũi tên.