jsFiddle:http: //jsfiddle.net/kAYyR/
截屏:
这是有效的:
- 单击按钮时打开弹出框
- 在弹出框外单击时关闭弹出框
- 单击
.close
按钮关闭弹出窗口
但是...当您再次单击原始按钮时,我无法关闭弹出窗口。相反,弹出框会闪烁并再次闪烁。
在这里自己复制。
我怎样才能做到这一点?
HTML:
<button id="popoverId" class="popoverThis btn btn-large btn-danger">Click to toggle popover</button>
<div id="popoverContent" class="hide">This <em>rich</em> <pre>html</pre> content goes inside popover</div>
JS:
$('#popoverId').popover({
html: true,
title: "Popover Title",
content: function () {
return $('#popoverContent').html();
}
});
var isVisible = false;
var clickedAway = false;
$('.popoverThis').popover({
html: true,
trigger: 'manual'
}).click(function (e) {
$(this).popover('show');
$('.popover-content').append('<a class="close" style="position: absolute; top: 0; right: 6px;">×</a>');
clickedAway = false
isVisible = true
e.preventDefault()
});
$(document).click(function (e) {
if (isVisible & clickedAway) {
$('.popoverThis').popover('hide')
isVisible = clickedAway = false
} else {
clickedAway = true
}
});