再次点击或点击其他地方时如何解除引导弹出窗口

时间:2016-06-21 10:10:11

标签: javascript jquery html twitter-bootstrap popover

我可以使用data-trigger='focus'在外部点击时关闭弹出框,或在再次单击按钮时使用data-trigger='click'。但我不能同时拥有。也就是说,如果我使用focus,则单击弹出按钮将不会执行任何操作。

我想在任何一种情况下解雇popover,有没有人知道如何轻松地做到这一点?

我尝试了data-trigger='focus click',但它不起作用。

编辑:我不认为这是一个重复的问题。当然,这个问题的解决方案对我有用。但是这个问题的标题是:“如何通过点击外部来解除Twitter Bootstrap popover”是误导性的。如果我只是想通过点击外部来关闭popover,我只需要data-trigger='focus',如引导文档所述:

  

使用焦点触发器消除用户下次点击时的弹出窗口。

但正如我所解释的那样,如果再次点击弹出式触发器,它将无效。

1 个答案:

答案 0 :(得分:1)

我不确定你的意思,如果没有看到任何代码,但我会使用jQuery:

    $('body').on('click', function (e) {

    if ($(e.target).data('toggle') !== 'popover'
        && $(e.target).parents('.popover.in').length === 0) { 
        $('[data-toggle="popover"]').popover('hide');
    }
});

我希望我有所帮助,祝你好运!