Twitter bootstrap popover:如何在外部点击时隐藏它,而不使用正文/文档事件处理程序?

时间:2014-11-26 08:31:44

标签: javascript twitter-bootstrap popover

我正在使用单击元素时显示的bootstrap popover。

Javascript:

var info = ui_utils.fa_button('icon-info', 'info', 'info', icon_style, false);
//please don't mind the custom function - it just adds the <i> element to the layout

$(info).popover({
    title: <some title>,
    html: true,
    content: <some content>,
    container: 'body',
    placement: 'right'
});

$(info).blur(function(){
   $(this).popover('hide');
});

在外部点击时,模糊(甚至焦点)事件永远不会被触发。

必须有一种方法可以在不使用文档/正文单击事件的情况下执行此操作,因为它随处可见:

$('body').on('click', function (e) {
    $('[data-toggle="popover"]').each(function () {
        if (!$(this).is(e.target) && $(this).has(e.target).length === 0 &&         
           $(this).popover('hide');
        }
    });
});

有人有出路吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

$("body").on({
    mouseenter: function () {
        if(popovershow){
            popoverhide;
        }
    },
    mouseleave: function () {
        if(popovershow){
            popoverhide;
        }
    }
});