Mã phím Shift trong JavaScript

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

Cập nhật

Thuộc tínhGiá trị
event.keyShift
event.codeShiftLeft / ShiftRight
event.keyCode / which (đã lỗi thời)16

Cách nhận biết Shift

document.addEventListener('keydown', (event) => {
  if (event.key === 'Shift') {
    // Shift 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 để biết vị trí vật lý của phím, ví dụ WASD trong game. keyCode và which đã lỗi thời: vẫn hoạt động, nhưng giá trị khác nhau giữa các trình duyệt và bố cục.

Trình duyệt xử lý Shift thế nào

Dùng event.shiftKey để kiểm tra xem Shift có đang được giữ khi nhấn phím khác hoặc click hay không — đừng tự theo dõi lần nhấn Shift. Shift làm thay đổi event.key (“a” thành “A”) nhưng không thay đổi event.code.

Trong React

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

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

Keycode của Shift là gì?
16. Tuy nhiên, giá trị này đã lỗi thời: trong code mới, hãy dùng event.key (“Shift”) hoặc event.code (ShiftLeft).
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 theo 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 ký tự, như Escape hay các phím mũi tên.