Tôi đang sử dụng đánh dấu sau đây và đã gặp phải vấn đề tương tự:
<ul class="nav">
<li><a href="abc.html">abc</a></li>
<li><a href="def.html">def</a></li>
</ul>
Ở đây tôi đã sử dụng logic sau:
$(".nav > li").click(function(e){
if(e.target != this) return; // only continue if the target itself has been clicked
// this section only processes if the .nav > li itself is clicked.
alert("you clicked .nav > li, but not it's children");
});
Về câu hỏi chính xác, tôi có thể thấy rằng hoạt động như sau:
$(".example").click(function(e){
if(e.target != this) return; // only continue if the target itself has been clicked
$(".example").fadeOut("fast");
});
hoặc tất nhiên theo cách khác:
$(".example").click(function(e){
if(e.target == this){ // only if the target itself has been clicked
$(".example").fadeOut("fast");
}
});
Mong rằng sẽ giúp.