Mã phím Minus (-) trong JavaScript

Với Minus (-), event.key là - (or _ with Shift), event.code là Minus và keyCode đã lỗi thời là 189. Nhấn phím bất kỳ trong Công cụ tìm Key Code để xem các giá trị trực tiếp.

Cập nhật

Thuộc tínhGiá trị
event.key- (or _ with Shift)
event.codeMinus
event.keyCode / which (đã lỗi thời)189

Cách nhận biết Minus (-)

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

Dùng event.key để phản ứng với ý nghĩa của phím (giá trị này thay đổi theo 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 bàn phím.

Trình duyệt xử lý Minus (-) như thế nào

Firefox từ trước đến nay trả về keyCode 173 cho phím này, thêm một lý do để bạn dùng event.key.

Trong React

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

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

keyCode của Minus (-) là gì?
189. Tuy nhiên, thuộc tính này đã lỗi thời: hãy dùng event.key (“- (hoặc _ khi nhấn Shift)”) hoặc event.code (Minus) trong code mới.
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ự, chẳng hạn Escape hoặc các phím mũi tên.