यहाँ के जवाबों ने ओपी के सवाल को भी शाब्दिक रूप से लिया। कैसे इन उत्तरों को एक ऐसे परिदृश्य में विस्तारित किया जा सकता है, जहां केवल एक ही <a>टैग नहीं बल्कि कई बच्चे तत्व हैं ? यहाँ एक तरीका है।
मान लें कि आपके पास एक ब्लैक गैलरी है जिसकी पृष्ठभूमि बाहर है और ब्राउज़र में केंद्रित फ़ोटो हैं। जब आप काली पृष्ठभूमि (लेकिन इसके अंदर कुछ भी नहीं) पर क्लिक करते हैं, तो आप ओवरले को बंद करना चाहते हैं।
यहाँ कुछ संभव 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>
और यहां बताया गया है कि जावास्क्रिप्ट कैसे काम करेगा:
$('.gallery').click(
function()
{
$(this).hide();
}
);
$('.gallery > .contents').click(
function(e) {
e.stopPropagation();
}
);
यह .contentsप्रत्येक शोध से अंदर के तत्वों से क्लिक की घटनाओं को रोक देगा .galleryइसलिए गैलरी केवल तभी बंद हो जाएगी जब आप फीके हुए काले पृष्ठभूमि क्षेत्र में क्लिक करेंगे, लेकिन तब नहीं जब आप सामग्री क्षेत्र में क्लिक करेंगे। यह कई अलग-अलग परिदृश्यों पर लागू किया जा सकता है।
$(".header a")साथ$(".header *")और किसी भी बच्चे को चयनित (div, रूपों, इनपुट, आदि) मिला है।