Mã phím Delete trong JavaScript

Với Delete, event.key là Delete, event.code là Delete và keyCode đã lỗi thời là 46. Nhấn phím bất kỳ trong Công cụ tìm mã phím để xem giá trị trực tiếp.

Cập nhật

Thuộc tínhGiá trị
event.keyDelete
event.codeDelete
event.keyCode / which (đã lỗi thời)46

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

document.addEventListener('keydown', (event) => {
  if (event.key === "Delete") {
    // Delete 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 cho 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ý phím Delete như thế nào

Delete xóa ký tự nằm sau con trỏ, hoặc mục đang chọn trong trình quản lý tệp và danh sách. Trên laptop Mac, đó là Fn+Delete, vì phím có nhãn “delete” thực tế gửi Backspace.

Trong React

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

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

Mã keyCode của Delete là gì?
46. Tuy nhiên, giá trị này đã lỗi thời. Trong mã mới, hãy dùng event.key (“Delete”) hoặc event.code (Delete).
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.