event.stopPropagation();隐藏下拉列表,但不是单击它时

时间:2013-09-13 12:15:24

标签: javascript jquery

所以我想让.notification按钮显示.notificaiton-dropdown,点击此元素外部会关闭它。这有效。

然而,当我点击元素时,它会使它关闭。我想要当前的功能,但不是在点击元素本身时,所以我可以与它进行交互。

$(document).ready( function(){
    $('.notification').click( function(event){
        event.stopPropagation();
        $('.notification-dropdown').toggle();
    });
    $(document).click( function(){
        $('.notification-dropdown').hide();
    });
});

我希望有足够的信息。一如既往地谢谢。

2 个答案:

答案 0 :(得分:1)

您需要停止notification-dropdown

的事件传播
$(document).ready( function(){
    $('.notification-dropdown').click( function(event){
        event.stopPropagation();
    });
    $('.notification').click( function(event){
        event.stopPropagation();
        $('.notification-dropdown').toggle();
    });
    $(document).click( function(){
        $('.notification-dropdown').hide();
    });
});

答案 1 :(得分:1)

我会说:

$(document).click( function(e){
    if($(e.target).closest('.notification-dropdown').length) return;
    $('.notification-dropdown').hide();
});