Mã phím Enter trong JavaScript

Với Enter, event.key là Enter, event.code là Enter / NumpadEnter và keyCode đã lỗi thời là 13. 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.keyEnter
event.codeEnter / NumpadEnter
event.keyCode / which (đã lỗi thời)13

Cách nhận biết phím Enter

document.addEventListener('keydown', (event) => {
  if (event.key === "Enter" && !event.isComposing) {
    // Enter was pressed
  }
});

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

Trình duyệt xử lý phím Enter thế nào

Enter gửi biểu mẫu khi con trỏ đang ở ô nhập văn bản, và kích hoạt nút cùng liên kết. Hãy kiểm tra event.isComposing: khi người dùng gõ tiếng Trung, Nhật hoặc Hàn, Enter chỉ xác nhận phần soạn thảo và không nên kích hoạt hành động của bạn. Phím Enter trên bàn phím số có cùng key nhưng code NumpadEnter.

Trong React

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

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

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