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

时间:2018-04-19 05:40:37

标签: jquery

我有一个人的听众:

$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!
        });
    }
});

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

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

1 个答案:

答案 0 :(得分:1)

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

$('.close').click(function (e) {
   e.stopPropagation();
   e.preventDefault();
   ....
}