【问题标题】:Listen for click on div, but not when any of its children are clicked监听 div 上的点击,但当它的任何子级被点击时不监听
【发布时间】:2013-03-21 04:22:55
【问题描述】:

我试图在单击 div 时隐藏 div 及其子级,但在其任何子级发生任何事件时不会;例如,滑动、点击或单击。

在点击时隐藏 div 的 jQuery 很简单:

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

但我注意到,当点击或滑动子元素时,div 会淡出。

当这些事件发生在其子级上时,如何防止 div 淡出,但允许它仅在其自身的点击时淡出?

【问题讨论】:

  • 如果孩子们也有一个事件处理程序,你总是可以防止孩子们的事件冒泡。但是这种方法只有在每个 div 只有 1 个孩子时才有效

标签: javascript jquery javascript-events


【解决方案1】:

检查点击的元素是否与绑定的元素相同:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    相关资源
    最近更新 更多