Buradaki cevaplar OP'nin sorusunu tam anlamıyla aldı. Bu cevaplar, yalnızca tek bir <a>etiketin değil, birçok alt öğenin olduğu bir senaryoya nasıl genişletilebilir ? İşte bir yol.
Diyelim ki arka planı karartılmış bir fotoğraf galeriniz ve tarayıcıda ortalanmış fotoğraflar var. Siyah arka planı tıklattığınızda (ancak içinde hiçbir şey olmadığında) kaplamanın kapanmasını istersiniz.
İşte bazı olası HTML:
<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>
İşte JavaScript'in çalışması:
$('.gallery').click(
function()
{
$(this).hide();
}
);
$('.gallery > .contents').click(
function(e) {
e.stopPropagation();
}
);
Bu, .contentsher araştırmanın içindeki öğelerden gelen tıklama olaylarını durduracaktır, .galleryböylece galeri yalnızca soluk siyah arka plan alanını tıkladığınızda kapanır, ancak içerik alanını tıkladığınızda kapanmaz. Bu, birçok farklı senaryoya uygulanabilir.
$(".header a")ile$(".header *")ve herhangi bir çocuk seçilir (div, formlar, giriş, vb) var.