Mã phím Control (Ctrl) trong JavaScript

Với Control (Ctrl), event.key là Control, event.code là ControlLeft / ControlRight, còn keyCode đã lỗi thời có giá trị là 17. Nhấn phím bất kỳ trong Key Code Finder để xem giá trị của phím đó ngay lập tức.

Cập nhật

Thuộc tínhGiá trị
event.keyControl
event.codeControlLeft / ControlRight
event.keyCode / which (đã lỗi thời)17

Cách nhận biết Control (Ctrl)

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

Dùng event.key để phản ứng theo ý nghĩa của phím (giá trị này phụ thuộc vào 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: 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.

Cách trình duyệt xử lý Control (Ctrl)

Kiểm tra event.ctrlKey để xử lý phím tắt. Trên Mac, người dùng thường dùng Cmd thay thế, nên hãy kiểm tra event.metaKey ở đó, hoặc chấp nhận cả hai.

Trong React

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

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

keyCode của Control (Ctrl) là gì?
17. Tuy nhiên, thuộc tính này đã lỗi thời, nên trong code mới hãy dùng event.key (“Control”) hoặc event.code (ControlLeft).
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 ra ký tự, như Escape hoặc các phím mũi tên.