Perbezaan antara penekanan kekunci dan kekunci: 2. Data peristiwa; 4. Isu keserasian; kepada masalah yang perlu dielakkan; 9. Pengekodan aksara; 10. Semakan keserasian; tekan kekunci dan kekunci adalah dua kaedah dalam js yang digunakan untuk mengendalikan acara papan kekunci. Mereka berbeza dalam banyak cara, termasuk apabila mereka menyala, data peristiwa yang mereka lalui dan isyarat papan kekunci yang boleh mereka tangkap.
tekan kekunci dan kekunci bawah ialah dua kaedah dalam JavaScript untuk mengendalikan acara papan kekunci. Mereka berbeza dalam banyak cara, termasuk apabila mereka menyala, data peristiwa yang mereka lalui dan isyarat papan kekunci yang boleh mereka tangkap.
1. Masa pencetus:
- Acara keydown dicetuskan apabila pengguna menekan papan kekunci.
- Acara menekan kekunci dicetuskan apabila pengguna menekan dan melepaskan papan kekunci. Iaitu, peristiwa penekan kekunci dicetuskan apabila kekunci "ditekan dan dilepaskan", manakala acara kekunci kekunci dicetuskan apabila kekunci "ditekan".
2. Data acara: Acara
- akan menghantar objek acara yang mengandungi pelbagai maklumat terperinci tentang acara tersebut, termasuk kekunci mana yang ditekan, watak Unicode kekunci yang ditekan dan beberapa maklumat lain tentang acara tersebut . Acara
- tekan kekunci menghantar objek acara yang mengandungi beberapa butiran khusus tentang acara, seperti aksara yang dicetak (jika aksara dicetak), atau kod Unicode bagi aksara yang tidak dicetak.
3. Isyarat papan kekunci yang ditangkap:
- keydown boleh menangkap semua aksara tanpa menaip, termasuk kekunci anak panah, kekunci fungsi dan kekunci bukan abjad angka yang lain.
- Tekanan kekunci hanya boleh menangkap aksara yang sebenarnya ditaip oleh pengguna. Maksudnya, jika pengguna tidak menaip sebarang aksara, atau menaip aksara bukan mencetak (seperti kekunci anak panah, kekunci fungsi, dll.), maka peristiwa penekan kekunci tidak akan dicetuskan.
4. Isu keserasian:
- keydown mempunyai keserasian yang baik dalam semua penyemak imbas.
- penekanan kekunci mungkin mempunyai masalah keserasian dalam beberapa versi pelayar lama (seperti Internet Explorer). Dalam penyemak imbas ini, anda mungkin perlu mendengar kedua-dua acara kekunci kekunci dan kekunci untuk memastikan semua input yang mungkin ditangkap.
5 Pemprosesan kunci khas:
- Untuk kekunci khas (seperti kekunci arah, kekunci fungsi, dsb.), kerana kekunci ini tidak akan dicetuskan dalam acara penekan kekunci, biasanya perlu menggunakan kekunci kekunci atau kekunci. acara untuk memproses kunci ini.
6. Perbezaan penyemak imbas:
- Dalam sesetengah penyemak imbas, seperti Internet Explorer, apabila menggunakan acara tekan kekunci untuk mengendalikan aksara bukan abjad angka, anda perlu menyemak nilai event.charCode dalam fungsi pengendali acara. Dalam pelayar lain (seperti Firefox), anda boleh terus menggunakan nilai event.key untuk mendapatkan kekunci yang ditekan.
7 Cadangan penggunaan:
- Disebabkan perbezaan antara penekanan kekunci dan kekunci, biasanya disyorkan untuk menggunakan kedua-dua acara ini pada masa yang sama untuk mengendalikan semua situasi input yang mungkin. Terutama apabila berurusan dengan aksara bukan pencetakan, menggunakan acara keydown lebih dipercayai.
8 Masalah yang perlu dielakkan:
- Apabila mengendalikan acara papan kekunci, anda perlu memberi perhatian untuk mencegah acara menggelegak dan tingkah laku lalai. Sebagai contoh, apabila pengguna menekan kekunci Enter, penyemak imbas lalai untuk menyerahkan borang. Jika anda tidak mahu gelagat lalai ini berlaku, anda perlu memanggil kaedah event.preventDefault() dalam pengendali acara.
9. Pengekodan aksara:
- Apabila berurusan dengan persekitaran berbilang bahasa, isu pengekodan aksara perlu dipertimbangkan. Bahasa yang berbeza mungkin menggunakan set aksara dan pengekodan yang berbeza, jadi faktor ini perlu diambil kira semasa mengendalikan acara papan kekunci.
10. Semakan keserasian:
- Apabila menulis kod untuk mengendalikan acara papan kekunci, semakan keserasian perlu dilakukan untuk memastikan ia boleh berfungsi dengan betul dalam semua penyemak imbas sasaran. Anda boleh menggunakan alatan seperti Modernizr untuk membantu dengan semakan keserasian merentas penyemak imbas.
11. Pertimbangan pengalaman pengguna:
- Apabila mereka bentuk interaksi, tabiat dan jangkaan pengguna perlu dipertimbangkan. Contohnya, untuk beberapa kekunci pintasan yang biasa digunakan (seperti Ctrl+C, Ctrl+V, dsb.), pengguna mungkin menjangkakan dapat menggunakan kekunci pintasan ini secara langsung untuk menyelesaikan operasi dan bukannya mengklik menu atau butang. Oleh itu, faktor-faktor ini perlu diambil kira semasa mereka bentuk interaksi.
Atas ialah kandungan terperinci Perbezaan antara tekan kekunci dan 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