Mã phím Print Screen trong JavaScript

Với Print Screen, event.key là PrintScreen, event.code là PrintScreen và keyCode đã lỗi thời là 44. 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.keyPrintScreen
event.codePrintScreen
event.keyCode / which (đã lỗi thời)44

Cách phát hiện Print Screen

document.addEventListener('keydown', (event) => {
  if (event.key === "PrintScreen") {
    // Print Screen was pressed
  }
});

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

Trình duyệt xử lý Print Screen như thế nào

Hệ điều hành thực hiện chụp màn hình; hầu hết trình duyệt chỉ gửi một sự kiện keyup, hoặc không gửi gì cả. Trang web không thể chặn việc chụp màn hình.

Trong React

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

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

Keycode của Print Screen là gì?
44. Tuy nhiên, giá trị này đã lỗi thời: hãy dùng event.key (“PrintScreen”) hoặc event.code (PrintScreen) 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ự, như Escape hay các phím mũi tên.