Rumah  >  Artikel  >  hujung hadapan web  >  Cara Mengesan Penekanan Kekunci Anak Panah dalam JavaScript: Mengapa Penekanan Kekunci Tidak Berfungsi dan Penyelesaian Pembukaan Kekunci

Cara Mengesan Penekanan Kekunci Anak Panah dalam JavaScript: Mengapa Penekanan Kekunci Tidak Berfungsi dan Penyelesaian Pembukaan Kekunci

DDD
DDDasal
2024-11-16 18:37:03184semak imbas

How to Detect Arrow Key Presses in JavaScript: Why onkeypress Doesn't Work and the onkeydown Solution

Mengesan Penekanan Kekunci Anak Panah dalam JavaScript: Panduan Komprehensif

Mengesan tekanan kekunci ialah tugas biasa dalam pembangunan web, terutamanya apabila mencipta kawalan interaktif. Walaupun kebanyakan kekunci boleh dikesan dengan tepat menggunakan pendengar acara onkeypress, kekunci anak panah menimbulkan cabaran yang unik. Artikel ini meneroka sebab kekunci anak panah tidak dapat dikesan menggunakan onkeypress dan menyediakan penyelesaian mudah untuk menangkap penekanan kekunci anak panah dalam JavaScript.

Dilema Kekunci Anak panah

Apabila menggunakan onkeypress untuk mengesan penekanan kekunci, ia berfungsi dengan sempurna untuk kebanyakan kunci. Walau bagaimanapun, kekunci anak panah (kiri, atas, kanan, bawah) tidak mencetuskan peristiwa onkeypress. Ini kerana penyemak imbas mengendalikan kekunci anak panah secara berbeza, memulakan tingkah laku menatal secara lalai.

Penyelesaian: Menggunakan onkeydown

Untuk mengesan penekanan kekunci anak panah, anda mesti menggunakan pendengar acara onkeydown dan bukannya onkeypress. Peristiwa onkeydown menyala apabila kekunci ditekan ke bawah, termasuk kekunci anak panah. Berikut ialah versi terkini coretan kod anda menggunakan onkeydown:

function checkKey(e) {
    var event = window.event ? window.event : e;
    console.log(event.keyCode);
}

Kod Kunci Anak Panah

Untuk mengenal pasti kekunci anak panah tertentu, anda boleh menggunakan kod kekunci yang sepadan:

  • Kiri: 37
  • Ke Atas: 38
  • Kanan: 39
  • Bawah: 40

Dengan membandingkan event.keyCode dengan nilai ini, anda boleh dengan mudah menentukan kekunci anak panah yang ditekan.

Atas ialah kandungan terperinci Cara Mengesan Penekanan Kekunci Anak Panah dalam JavaScript: Mengapa Penekanan Kekunci Tidak Berfungsi dan Penyelesaian Pembukaan Kekunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn