Kode tombol Enter di JavaScript

Untuk Enter, event.key adalah Enter, event.code adalah Enter / NumpadEnter, dan keyCode yang sudah usang adalah 13. Tekan tombol apa pun di Key Code Finder untuk melihat nilainya secara langsung.

Diperbarui

PropertiNilai
event.keyEnter
event.codeEnter / NumpadEnter
event.keyCode / which (usang)13

Cara mendeteksi Enter

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

Gunakan event.key untuk merespons arti tombol (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 di tiap browser dan tata letak.

Cara browser menangani Enter

Enter mengirim form saat fokus berada di input teks, dan mengaktifkan tombol serta tautan. Periksa event.isComposing: saat seseorang mengetik dalam bahasa Mandarin, Jepang, atau Korea, Enter mengonfirmasi komposisi dan seharusnya tidak memicu aksimu. Tombol Enter di numpad memiliki key yang sama, tetapi code NumpadEnter.

Di React

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

Pertanyaan yang sering diajukan

Berapa keyCode untuk Enter?
13. Namun ini sudah usang, jadi gunakan event.key (“Enter”) atau event.code (Enter) di kode baru.
Apa perbedaan 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 nilainya 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.