Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当再次单击或单击其他位置时,如何取消引导弹出窗口_Javascript_Jquery_Html_Twitter Bootstrap_Popover - Fatal编程技术网

Javascript 当再次单击或单击其他位置时,如何取消引导弹出窗口

Javascript 当再次单击或单击其他位置时,如何取消引导弹出窗口,javascript,jquery,html,twitter-bootstrap,popover,Javascript,Jquery,Html,Twitter Bootstrap,Popover,我可以使用data trigger='focus'在单击外部时关闭弹出窗口,或者再次单击按钮时使用data trigger='click'。但我不能两者兼得。也就是说,如果我使用focus,单击popover按钮将不会执行任何操作 不管是哪种情况,我都不喜欢popover,有人知道一种简单的方法吗 我尝试了data trigger='focus click',但不起作用 编辑:我不认为这是一个重复的问题。这个问题的解决方案对我来说确实有效。但是这个问题的标题:“如何通过点击外部来消除推特引导弹出

我可以使用
data trigger='focus'
在单击外部时关闭弹出窗口,或者再次单击按钮时使用
data trigger='click'
。但我不能两者兼得。也就是说,如果我使用
focus
,单击popover按钮将不会执行任何操作

不管是哪种情况,我都不喜欢popover,有人知道一种简单的方法吗

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

编辑:我不认为这是一个重复的问题。这个问题的解决方案对我来说确实有效。但是这个问题的标题:“如何通过点击外部来消除推特引导弹出窗口”具有误导性。如果我只想通过单击外部来关闭弹出窗口,我只需要
数据触发器class='focus'
,如引导文档所述:

使用焦点触发器在用户下一次单击时关闭弹出窗口


但正如我所解释的,如果再次单击popover触发器,它将不起作用。

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

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

    if ($(e.target).data('toggle') !== 'popover'
        && $(e.target).parents('.popover.in').length === 0) { 
        $('[data-toggle="popover"]').popover('hide');
    }
});
我希望我能有所帮助,祝你好运