Dalam pembangunan web, adalah perkara biasa untuk menghadapi situasi di mana anda perlu menyembunyikan elemen apabila pengguna mengklik di luar kawasan yang ditetapkan mereka. Ini amat berguna untuk menu lungsur turun dan modal.
Pernyataan Masalah:
Anda mempunyai menu HTML yang berkembang apabila pengguna mengklik pada pengepala mereka. Walau bagaimanapun, anda ingin menyembunyikan menu ini secara automatik apabila pengguna mengklik di luar kawasan menu. Adakah ini boleh dicapai menggunakan jQuery?
Penyelesaian:
Ya, jQuery menyediakan kaedah mudah untuk mengesan klik di luar elemen tertentu. Berikut ialah penyelesaian yang komprehensif:
Lampirkan Acara Klik pada Badan Dokumen:
Tutup Menu pada Badan Klik:
Hentikan Penyebaran untuk Bekas:
Contoh Kod:
$(window).click(function() { // Hide the menus if visible }); $('#menuContainer').click(function(event) { event.stopPropagation(); });
Nota:
Elakkan menggunakan kaedah stopPropagation secara berlebihan, kerana ia boleh mengganggu aliran biasa peristiwa dalam DOM. Pertimbangkan untuk meneroka kaedah alternatif untuk pengendalian acara, seperti perwakilan acara.
Atas ialah kandungan terperinci Bagaimanakah jQuery Boleh Mengesan Klik Di Luar Elemen untuk Menyembunyikan Menu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!