Mã phím Alt / Option trong JavaScript

Với Alt / Option, event.key là Alt, event.code là AltLeft / AltRight, còn keyCode đã lỗi thời và có giá trị 18. Nhấn phím bất kỳ trong Key Code Finder để xem các giá trị của nó theo thời gian thực.

Cập nhật

Thuộc tínhGiá trị
event.keyAlt
event.codeAltLeft / AltRight
event.keyCode / which (đã lỗi thời)18

Cách nhận biết Alt / Option

document.addEventListener('keydown', (event) => {
  if (event.key === 'Alt') {
    // Alt / Option was pressed
  }
});

Dùng event.key để phản ứng theo ý nghĩa của phím (nó 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.

Cách trình duyệt xử lý Alt / Option

Hãy kiểm tra event.altKey. Trên nhiều bàn phím châu Âu, phím Alt bên phải là AltGr (event.key === "AltGraph") và dùng để gõ các ký tự như @ hoặc €, nên hãy tránh các phím tắt Ctrl+Alt có thể xung đột với nó. Trên Mac, Option đổi event.key thành ký tự đặc biệt — hãy dùng event.code cho các phím tắt Option.

Trong React

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

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

Keycode của Alt / Option là gì?
18. Tuy nhiên, giá trị này đã lỗi thời: hãy dùng event.key (“Alt”) hoặc event.code (AltLeft) trong mã 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 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.