关闭popover外面的popover但内部保持开放

时间:2012-11-05 15:29:29

标签: javascript jquery html twitter-bootstrap

当您在弹出窗口外单击时可以关闭引导弹出窗口,但是当您在弹出窗口内单击时它会保持打开状态。我知道之前在here中讨论过这个问题,但是当你在popover中点击时这个也会关闭。

以下是他们的演示:http://jsfiddle.net/Sherbrow/e6Gt8/

    var $poped = $('.poped');
$poped.popover();

// Trigger for the popover
$poped.each(function() {
    var $this = $(this);
    $this.on('hover',function() {
            var popover = $this.data('popover');
            var shown = popover && popover.tip().is(':visible');
            if(shown) return;        // Avoids flashing
            $this.popover('show');
    });
});

// Trigger for the hiding
 $('html').on('click.popover.data-api',function() {
    $poped.popover('hide');
});

1 个答案:

答案 0 :(得分:4)

查看http://jsfiddle.net/VcwUm/

// Trigger for the hiding
$('html').on('click.popover.data-api',function(e) {
     if($(e.target).has('.poped').length == 1){
         $poped.popover('hide');
     } else {
         return false;
     }
});

我正在做的就是检查目标元素是否有一个具有某个类的孩子来决定是否应该关闭弹出窗口。