我试图隐藏一个div和它的孩子,当点击div时,但没有发生任何事件时,它的任何孩子;例如轻扫,点按或点击。听取点击div,但没有点击它的任何孩子时
隐藏在点击的div jQuery的很简单:
$("#tabs").click(function(){
$(this).fadeOut();
});
但我注意到,当它的孩子们点击或滑,在div淡出。
当这些事件发生在它的孩子身上时,我怎样才能防止div淡出,但是让它淡出只有它自己的onclick?
我试图隐藏一个div和它的孩子,当点击div时,但没有发生任何事件时,它的任何孩子;例如轻扫,点按或点击。听取点击div,但没有点击它的任何孩子时
隐藏在点击的div jQuery的很简单:
$("#tabs").click(function(){
$(this).fadeOut();
});
但我注意到,当它的孩子们点击或滑,在div淡出。
当这些事件发生在它的孩子身上时,我怎样才能防止div淡出,但是让它淡出只有它自己的onclick?
检查,如果点击的元素是被绑定在相同的元素:
$("#tabs").click(function(e){
if (e.target == this)
$(this).fadeOut();
});
+1简单而且非常有效 – 2013-03-20 20:23:16
我同意+1 @DavidL – bipen 2013-03-20 20:24:28
如果孩子有一个事件处理程序,以及你总是可以防止事件冒泡的孩子。但是这种方法只有当每个div只有1个子女时才是好的 – Huangism 2013-03-20 20:34:16