如何使用相同的单击事件来触发fadeIn和fadeOut?

问题描述 投票:0回答:1

我有一个人的听众:

$person.on('click', function (e) {
    $(this).find('.persondata').fadeIn('fast', function () {
        //
    });
});

这会在用户上方淡化覆盖。效果很好。

现在我有一个“x”按钮,当用户点击时,我希望将所有内容淡出。

$('.close').click(function (e) {
    if ($('.persondata:visible')) {
        $(this).closest('.persondata').fadeOut('fast', function (e) {
           // stop everything. dont fade back in!
        });
    }
});

哪个,效果也很好。但是,一旦元素消失,由于顶部点击事件,它将再次淡入。

在我淡出封面后,有没有办法阻止一切?感谢您的时间!

jquery
1个回答
1
投票

您可以取消事件冒泡到父节点。

$('.close').click(function (e) {
   e.stopPropagation();
   e.preventDefault();
   ....
}
© www.soinside.com 2019 - 2024. All rights reserved.