Mã phím Meta (Cmd / Windows) trong JavaScript

Với Meta (Cmd / phím Windows), event.key là Meta, event.code là MetaLeft / MetaRight và keyCode đã lỗi thời là 91. 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.keyMeta
event.codeMetaLeft / MetaRight
event.keyCode / which (đã lỗi thời)91

Cách nhận biết Meta (Cmd / phím Windows)

document.addEventListener('keydown', (event) => {
  if (event.key === 'Meta') {
    // Meta (Cmd / Windows key) was pressed
  }
});

Dùng event.key để phản ứng theo ý nghĩa của phím (giá trị này theo bố cục bàn phím) và event.code để xác định 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ý Meta (Cmd / phím Windows) như thế nào

Meta là Cmd trên Mac và phím Windows trên PC. Kiểm tra event.metaKey. Hệ điều hành thường giữ các phím tắt dùng phím Windows cho riêng nó. Firefox trước đây báo keyCode 224 cho Cmd.

Trong React

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

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

keyCode của Meta (Cmd / phím Windows) là gì?
91. Tuy nhiên, thuộc tính này đã lỗi thời: hãy dùng event.key (“Meta”) hoặc event.code (MetaLeft) 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 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ự, như Escape hay các phím mũi tên.