Kode key Context Menu di JavaScript

Untuk Context Menu, event.key adalah ContextMenu, event.code adalah ContextMenu, dan keyCode yang sudah usang adalah 93. Tekan tombol apa pun di Key Code Finder untuk melihat nilainya secara langsung.

Diperbarui

PropertiNilai
event.keyContextMenu
event.codeContextMenu
event.keyCode / which (usang)93

Cara mendeteksi Context Menu

document.addEventListener('keydown', (event) => {
  if (event.key === "ContextMenu") {
    // Context Menu was pressed
  }
});

Gunakan event.key untuk bereaksi terhadap arti tombol tersebut (mengikuti tata letak keyboard) dan event.code untuk posisi fisiknya, misalnya WASD di game. keyCode dan which sudah usang: keduanya masih berfungsi, tetapi nilainya berbeda antar browser dan tata letak.

Cara browser menangani Context Menu

Tombol menu (atau Shift+F10) membuka context menu. Dengarkan event contextmenu, bukan tombol ini, agar mouse, keyboard, dan tekan-lama tetap berfungsi.

Di React

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

Pertanyaan yang sering diajukan

Apa keyCode untuk Context Menu?
93. Namun ini sudah usang, jadi gunakan event.key (“ContextMenu”) atau event.code (ContextMenu) di kode baru.
Apa perbedaan antara event.key dan event.code?
event.key adalah karakter atau aksi yang dihasilkan tombol dengan tata letak saat ini. event.code adalah posisi fisik tombol, dan sama di setiap tata letak.
Sebaiknya pakai keydown atau keypress?
keydown. Event keypress sudah usang dan tidak terpicu untuk tombol yang tidak menghasilkan karakter, seperti Escape atau tombol panah.