0
$(document).click( function () {

    $('#my_div').fadeOut(350);

});

我想在用户单击文档时隐藏此 div,而不是在他单击特定链接(例如#my_link)时隐藏。我怎样才能做到这一点?谢谢

4

3 回答 3

2

一种简单的方法是将事件添加到您的链接并使用stopPropagation

$('#my_link').click(function(e){
     e.stopPropagation();
})
于 2013-10-22T16:44:54.663 回答
1

将事件对象传递给您的 click 函数并检查 id:

$(document).click( function (event) {
    var idName = event.target.id;
    if(idName == "my_link"){
        return false;
    };
    $('#my_div').fadeOut(350);

});

这样您就不必添加额外的事件侦听器:)

此方法也是可扩展的,如果您希望将来包含其他链接...

于 2013-10-22T16:47:07.117 回答
0

使用 stopPropagation ( http://api.jquery.com/event.stopPropagation/ )

$('a#my_link').click(function(event) { event.stopPropagation(); });
于 2013-10-22T16:45:47.290 回答