【发布时间】:2013-09-04 23:15:54
【问题描述】:
我的网站在地图上有多个带有可点击图标的弹出框(只是一个带有背景图片的 div):
单击这些图标时,会显示一个弹出框。此弹出框有一个轮播,其中包含带有链接的文本:
当我在弹出框外部单击时,所有弹出框都被隐藏。这应该可以正常工作。我从this Stack Overflow question得到了代码。
但真正的问题发生在您单击弹出框外部以再次隐藏它时。弹出框是隐藏的,但它仍然在 DOM 中。这意味着链接仍然可以点击!
当我单击加号图标隐藏弹出框时,弹出框被隐藏(删除?),但是当点击加号外部(即页面上的任何位置)时,弹出框仍然存在(但不可见)正上方@ 987654325@.
请帮忙!这让我很恼火.. :(
编辑:可能值得一提的是弹出框是动态添加的:
$('.plus').each(function(i) {
var $self = $(this);
$self.popover({
html: true,
title: false,
placement: function() {
return 'auto left'; // TODO: calculate placing
},
content: function() {
var html = '<div id="carousel-' + i + '" class="carousel slide">';
var list = '<ol class="carousel-indicators">';
var slides = '<div class="carousel-inner">';
var count = 0;
$('.post[data-category="' + $(this).data('category') + '"]').each(function(j) {
// add indicator for slide
list += '<li data-target="#carousel-' + i + '" data-slide-to="' + count + '"' + (count == 0 ? ' class="active"' : '') + '></li>';
// add html for slide
slides += '<div class="item' + (count == 0 ? ' active' : '') + '">' + $(this).html() + '</div>';
// increase counter
count++;
});
// merge all html
html += list + '</ol>' + slides + '</div></div>';
return html;
}
});
【问题讨论】:
标签: javascript jquery css twitter-bootstrap