我发现这个问题似乎是重复的,但是最重要的答案对我不起作用。我最终修改了代码,每次切换时添加一个新的单击绑定到 .popover,从而产生了预期的效果。
工作 jsFiddle:http: //jsfiddle.net/asanger/AFffL/266/
var isVisible = false;
var clickedAway = false;
$('.popup-marker').popover({
html: true,
trigger: 'manual'
}).click(function(e) {
$(this).popover('show');
clickedAway = false
isVisible = true
e.preventDefault()
$('.popover').bind('click',function() {
clickedAway = false
//alert('popover has been clicked!');
});
});
$(document).click(function(e) {
if(isVisible && clickedAway)
{
$('.popup-marker').popover('hide')
isVisible = clickedAway = false
}
else
{
clickedAway = true
}
});