2013-03-20 59 views
3

我試圖隱藏一個div和它的孩子,當點擊div時,但沒有發生任何事件時,它的任何孩子;例如輕掃,點按或點擊。聽取點擊div,但沒有點擊它的任何孩子時

隱藏在點擊的div jQuery的很簡單:

$("#tabs").click(function(){ 
    $(this).fadeOut(); 
}); 

但我注意到,當它的孩子們點擊或滑,在div淡出。

當這些事件發生在它的孩子身上時,我怎樣才能防止div淡出,但是讓它淡出只有它自己的onclick?

+0

如果孩子有一個事件處理程序,以及你總是可以防止事件冒泡的孩子。但是這種方法只有當每個div只有1個子女時纔是好的 – Huangism 2013-03-20 20:34:16

回答

9

檢查,如果點擊的元素是被綁定在相同的元素:

$("#tabs").click(function(e){ 
    if (e.target == this) 
     $(this).fadeOut(); 
}); 
+1

+1簡單而且非常有效 – 2013-03-20 20:23:16

+0

我同意+1 @DavidL – bipen 2013-03-20 20:24:28

相關問題