Bagaimana cara menangani acara keyboard di kotak daftar?

Jun 05, 2025Tinggalkan pesan

Hai! Sebagai pemasok kotak daftar, saya memiliki pengalaman yang adil dari pengalaman yang berurusan dengan segala macam masalah yang terkait dengan kotak daftar. Salah satu masalah umum yang sering dihadapi pengguna adalah menangani acara keyboard di kotak daftar. Dalam posting blog ini, saya akan membagikan beberapa tips dan trik tentang cara menangani acara keyboard pada kotak daftar secara efektif.

Pertama, mari kita mengerti mengapa menangani acara keyboard di kotak daftar itu penting. Dalam banyak aplikasi, kotak daftar digunakan untuk menampilkan daftar item, dan pengguna harus dapat menavigasi item ini menggunakan keyboard. Misalnya, mereka mungkin ingin menggunakan tombol panah atas dan bawah untuk memilih item yang berbeda, atau tombol Enter untuk melakukan tindakan pada item yang dipilih. Tanpa penanganan acara keyboard yang tepat, pengalaman pengguna bisa sangat membuat frustrasi.

Penanganan Acara Keyboard Dasar

Acara keyboard paling dasar yang ingin Anda tangani untuk kotak daftar adalah acara kunci panah (naik dan turun) dan ENTER Key Event. Mari kita mulai dengan acara kunci panah.

Saat pengguna menekan tombol panah atas, Anda ingin memindahkan pilihan satu item di kotak daftar. Demikian pula, ketika mereka menekan tombol panah bawah, Anda akan ingin memindahkan pilihan ke bawah satu item. Berikut adalah contoh sederhana tentang bagaimana Anda dapat mencapai ini dalam JavaScript:

const listbox = document.geteLementById ('mylistbox'); listbox.addeventListener ('keyDown', function (event) {if (event.key === 'arrowup') {const selectedIndex = listbox.selectedIndex; if (selectedIndex> 0) {listbox.selectedIndex = selectectedIndEx - 1;}} lain if if (event.key === ') {1;}} {event.key === (SelectedIndex <listbox.options.length - 1) {listbox.selectedIndex = SelectedIndex + 1;

Dalam kode ini, pertama -tama kami mendapatkan referensi ke elemen kotak daftar menggunakan ID -nya. Lalu kami menambahkankeydownpendengar acara ke kotak daftar. Di dalam pendengar acara, kami memeriksa apakah kunci yang ditekan adalah tombol panah atas atau bawah. Jika itu adalah kunci panah atas dan ada item di atas yang saat ini dipilih, kami memindahkan pilihan ke atas. Jika itu adalah kunci panah bawah dan ada item di bawah yang saat ini dipilih, kami memindahkan pilihan ke bawah.

Sekarang, mari kita bicara tentang ENTER Key Event. Ketika pengguna menekan tombol ENTER saat item di kotak daftar dipilih, Anda mungkin ingin melakukan beberapa tindakan, seperti membuka tampilan terperinci dari item yang dipilih atau melakukan pencarian berdasarkan nilai yang dipilih. Begini cara Anda dapat menangani acara Key Enter:

listbox.addeventListener ('keyDown', function (event) {if (event.key === 'enter') {const selectedIndex = listbox.selectedIndex; const selectedValue = listbox.options [selectedIndex] .value; // lakukan beberapa tindakan dengan nilai yang dipilih console.log ('nilai yang dipilih:';

Dalam kode ini, kami lagi menambahkan akeydownpendengar acara ke kotak daftar. Di dalam pendengar acara, kami memeriksa apakah tombol yang ditekan adalah tombol Enter. Jika ya, kami mendapatkan indeks item yang dipilih dan kemudian mendapatkan nilai item itu. Anda kemudian dapat menggunakan nilai ini untuk melakukan tindakan apa pun yang Anda butuhkan.

Pipe Body0357

Penanganan Acara Keyboard Lanjutan

Selain kunci panah dasar dan masukkan acara kunci, ada beberapa acara keyboard lain yang mungkin ingin Anda tangani untuk pengalaman pengguna yang lebih ditingkatkan. Misalnya, Anda mungkin ingin menangani halaman ke atas dan ke bawah halaman ke bawah untuk memungkinkan pengguna dengan cepat menggulir kotak daftar.

Begini cara Anda dapat menangani halaman dan halaman bawah halaman:

listbox.addeventListener ('keyDown', function (event) {if (event.key === 'pageup') {const visibleItems = 10; // Jumlah item yang terlihat di kotak daftar const const const const const const const const constLectEndex = listBox.selectedIndex; if selectectedEx; visibleItems) {listbox.selectectedIndex; if selectectedEx; visibleitems) {listbox.selectedIndExlex; if selectectedEx; = visibleItems) {listbox.selectedIndExlex; if selectectedEx; visibleitems) {listbox.selectectedEnctEndex; }} lain if (event.key === 'pagedown') {const visibleItems = 10; - 1;

Dalam kode ini, kami menambahkan akeydownAcara pendengar ke kotak daftar dan centang apakah tombol yang ditekan adalah tombol UP atau halaman bawah halaman. Jika itu adalah kunci halaman, kami memindahkan pilihan dengan jumlah item yang terlihat di kotak daftar. Jika ini adalah kunci halaman bawah, kami memindahkan pilihan ke bawah dengan jumlah item yang terlihat.

Menangani pintasan keyboard lainnya

Anda mungkin juga ingin menerapkan beberapa pintasan keyboard khusus untuk kotak daftar Anda. Misalnya, Anda dapat mengizinkan pengguna untuk dengan cepat memilih item pertama dalam daftar dengan menekan tombol beranda, dan item terakhir dengan menekan tombol akhir.

Inilah cara Anda dapat menangani kunci rumah dan akhir:

listbox.addeventListener ('keyDown', function (event) {if (event.key === 'home') {listbox.selectedIndex = 0;} else if (event.key === 'end') {listbox.selectedIndex = listbox.options.length - 1;}});

Dalam kode ini, kami menambahkan akeydownAcara pendengar ke kotak daftar dan centang apakah tombol yang ditekan adalah kunci rumah atau akhir. Jika ini adalah kunci beranda, kami mengatur indeks yang dipilih ke 0, yang memilih item pertama dalam daftar. Jika ini adalah kunci akhir, kami mengatur indeks yang dipilih ke item terakhir dalam daftar.

Berintegrasi dengan komponen lain

Terkadang, Anda mungkin ingin mengintegrasikan kotak daftar dengan komponen lain di halaman Anda berdasarkan acara keyboard. Misalnya, Anda dapat memiliki bidang input teks di mana pengguna dapat mengetik istilah pencarian, dan ketika mereka menekan ENTER sementara kotak daftar memiliki fokus, Anda melakukan pencarian menggunakan item yang dipilih di kotak daftar dan teks di bidang input.

Berikut adalah contoh bagaimana Anda dapat mencapai ini:

<input type = "text" id = "searchInput"> <pilih id = "mylistbox"> <option value = "option1"> Opsi 1 </tiption> <option value = "option2"> Opsi 2 </tiption> <option value = "option3"> Opsi 3 </tiption> </ pilih>
const listbox = document.geteLementById ('mylistbox'); const searchInput = document.geteLementById ('searchInput'); listbox.addeventListener ('keyDown', function (event) {if (event.key === 'enter') {const selectedIndex = listbox.selectedIndex; const selectedValue = listBox.Options [selectedIndex] .value; constters consar -consari = searchInput.value; Lakukan pencarian menggunakan nilainya yang dipilih dan constters Constters = searchInput.value; Lakukan a Console for a Console. SelectedValue, Searchterm);}});

Dalam kode ini, pertama -tama kami mendapatkan referensi ke kotak daftar dan bidang input pencarian. Lalu kami menambahkankeydownpendengar acara ke kotak daftar. Ketika pengguna menekan tombol ENTER, kami mendapatkan nilai yang dipilih dari kotak daftar dan teks dari bidang input pencarian, dan kemudian kami dapat menggunakan nilai -nilai ini untuk melakukan pencarian.

Menggunakan Perpustakaan Pesta Ketiga

Jika Anda tidak ingin menulis semua kode penanganan acara keyboard dari awal, ada beberapa perpustakaan pihak ketiga yang dapat membantu Anda. Misalnya, JQuery memiliki banyak fungsi yang berguna untuk menangani acara, termasuk acara keyboard.

Begini cara Anda dapat menggunakan jQuery untuk menangani kunci panah dan memasuki acara kunci:

<! Doctype html> <html> <head> <script src = "https://code.jquery.com/jquery-3.6.0.min.js"> </script> opsi </head> </opsi </opsi </opsi <"Opsi" Opsi "Opsi"> Opsi "Opsi"> Opsi "Opsi" "Opsi" "Opsi" "Opsi" "Opsi" "Opsi" "Opsi"> Opsi "" Opsi "Opsi" "Opsi"> Opsi "" Opsi "" Opsi "> Opsi" Opsi "> Opsi </head" 3 </pection> </dectt> <script> $ ('#mylistbox'). KeyDown (function (event) {if (event.key === 'arrowup') {const selectedIndex = $ (this) .prop ('eventIndex'); if event ife (ife if ife (ife) {ife (ife). 'Arrowdown') {const selectedIndex = $ (this) .prop ('SelectedIndex'); $ (ini) .prop ('SelectedIndex'); </script> </body> </html>

Dalam kode ini, pertama -tama kami menyertakan perpustakaan jQuery dalam file HTML kami. Kemudian kami menggunakan jQuery untuk memilih kotak daftar dan menambahkan akeydownpendengar acara untuk itu. Di dalam pendengar acara, kami menangani kunci panah dan memasukkan acara kunci dengan cara yang sama seperti yang kami lakukan dalam contoh vanilla javascript.

Kesimpulan

Menangani acara keyboard pada kotak daftar adalah bagian penting dari memberikan pengalaman pengguna yang baik. Dengan menangani acara dasar seperti tombol panah dan masukkan kunci, serta acara yang lebih canggih seperti halaman up, halaman bawah, rumah, dan kunci akhir, Anda dapat membuat kotak daftar Anda lebih banyak pengguna - ramah. Anda juga dapat mengintegrasikan kotak daftar dengan komponen lain di halaman Anda dan menggunakan pustaka pihak ketiga untuk menyederhanakan proses pengembangan.

Jika Anda berada di pasar untuk kotak daftar berkualitas tinggi, kami di sini untuk membantu! Kami menawarkan berbagai macam produk kotak daftar yang dirancang untuk memenuhi kebutuhan spesifik Anda. Apakah Anda memerlukan kotak daftar sederhana untuk proyek kecil atau yang lebih kompleks untuk aplikasi skala besar, kami telah membantu Anda.

Jika Anda tertarikPenjepit Sensor,Kasing air ultrasonik, atauTubuh Pipa, kami juga dapat menyediakan produk dan solusi terkait.

Jika Anda ingin mendiskusikan kebutuhan Anda atau mendapatkan penawaran, jangan ragu untuk menghubungi kami. Kami menantikan untuk bekerja dengan Anda dan membantu Anda menemukan kotak daftar yang sempurna untuk proyek Anda.

Referensi

  • Dokumentasi JavaScript di MDN Web Docs
  • dokumentasi resmi jQuery