2013-03-20 61 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

相关问题