Jawaban di sini mengambil pertanyaan OP terlalu harfiah. Bagaimana jawaban ini dapat diperluas menjadi skenario di mana ada elemen anak BANYAK, bukan hanya satu <a>
tag? Ini satu cara.
Katakanlah Anda memiliki galeri foto dengan latar belakang pingsan dan foto-foto terpusat di browser. Saat Anda mengeklik latar belakang hitam (tetapi tidak apa pun di dalamnya), Anda ingin tutupnya ditutup.
Berikut ini beberapa HTML yang mungkin:
<div class="gallery" style="background: black">
<div class="contents"> <!-- Let's say this div is 50% wide and centered -->
<h1>Awesome Photos</h1>
<img src="img1.jpg"><br>
<img src="img2.jpg"><br>
<img src="img3.jpg"><br>
<img src="img4.jpg"><br>
<img src="img5.jpg">
</div>
</div>
Dan inilah cara kerja JavaScript:
$('.gallery').click(
function()
{
$(this).hide();
}
);
$('.gallery > .contents').click(
function(e) {
e.stopPropagation();
}
);
Ini akan menghentikan acara klik dari elemen di dalam .contents
dari setiap penelitian .gallery
sehingga galeri akan ditutup hanya ketika Anda mengklik area latar belakang hitam yang pudar, tetapi tidak ketika Anda mengklik di area konten. Ini dapat diterapkan pada banyak skenario yang berbeda.
$(".header a")
dengan$(".header *")
dan mendapatkan anak yang dipilih (div, formulir, masukan, dll).