Mã phím Slash (/) trong JavaScript

Với Slash (/), event.key là / (or ? with Shift), event.code là Slash và keyCode đã lỗi thời là 191. Nhấn phím bất kỳ trong Key Code Finder để xem giá trị của nó theo thời gian thực.

Cập nhật

Thuộc tínhGiá trị
event.key/ (or ? with Shift)
event.codeSlash
event.keyCode / which (đã lỗi thời)191

Cách nhận biết Slash (/)

document.addEventListener('keydown', (event) => {
  if (event.key === "/") {
    // Slash (/) 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 để nhận biết vị trí vật lý của phím, ví dụ WASD trong trò chơi. 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.

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

Nhiều trang web (GitHub, YouTube, Gmail) dùng “/” để đưa con trỏ vào ô tìm kiếm. Hãy kiểm tra xem tiêu điểm có đang nằm trong ô nhập văn bản hay không trước khi xử lý phím này.

Trong React

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

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

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