我正在使用Bootstrap弹出窗口和弹出窗口内容是HTML。我正在使用下面的代码来初始popover。此代码是基于https://stackoverflow.com/a/13203876/1354727这个答案。 弹出窗口内容与ID分别为#song-status-popover
。使用HTML关闭弹出窗口点击外部
$(".song-status-link").popover({
html: true,
placement: 'bottom',
content: function() {
return $("#song-status-popover").html();
}
});
我想关闭酥料饼,当我点击酥料饼的外面,所以我用下面的代码为:
$('html').on('mouseup', function (e) {
if (!$(e.target).closest('.popover').length) {
$('.popover').each(function() {
$(this).closest('div.popover').popover('hide');
});
}
});
到目前为止它做得很好,但我现在面临一个问题,使用两个代码一起。当我打开弹出窗口并单击外部关闭它时,如果再次单击链接打开弹出窗口,它在第一次单击时不会打开。我必须点击两次才能打开它。
我想知道我什么是缺少的,以及为什么我不能通过单击外部关闭后点击一次点击打开弹出窗口。请帮忙!
更新:我相信,当我点击外面隐藏酥料饼,但仍举认为它是开放的,在第一次点击它实际上考虑关闭并第二次点击打开酥料饼。
你能在jsfiddle中复制你的错误吗? – madalinivascu
你有没有试过这个http://stackoverflow.com/questions/28558865/popup-window-close-on-click-outside-not-inside-jquery –
不要相信它是最难做的事情。无论你有没有让它在悬浮状态下可见,并隐藏在blur.or你可以去默认属性点击显示并点击隐藏(如果你在同一页面上有多个弹出窗口)。这个问题已被问了很多次。 – Bugfixer