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

DDD
Lepaskan: 2024-11-16 18:37:03
asal
186 orang telah melayarinya

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);
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan