Trang web của tôi có nhiều popovers trên bản đồ (chỉ cần một div với hình nền) với các biểu tượng có thể click:Bootstrap Popover nội dung nhấp khi ẩn
http://f.cl.ly/items/44382Q2Y3U3t2S450r3w/Skjermbilde%202013-09-01%20kl.%2023.15.58.png
Khi nhấp vào các biểu tượng, một popover được hiển thị. popover này có một băng chuyền có chứa văn bản với các liên kết:
http://f.cl.ly/items/0s2v2i193z0u1D0N163D/Skjermbilde%202013-09-01%20kl.%2023.35.34.png
Khi tôi bấm ngoài popover, tất cả popovers là ẩn. Điều này được cho là hoạt động tốt. Tôi nhận được mã số từ this Stack Overflow question.
Nhưng vấn đề thực sự xảy ra khi bạn nhấp vào bên ngoài cửa sổ bật lên để ẩn lại. Cửa sổ bật lên bị ẩn nhưng vẫn nằm trong DOM. Điều này có nghĩa là các liên kết vẫn có thể nhấp được!
http://f.cl.ly/items/0T0p422c1A202b2M1J20/Skjermbilde%202013-09-01%20kl.%2023.34.28.png
Khi tôi nhấp vào biểu tượng dấu cộng để ẩn popover, các popover được ẩn (loại bỏ?), Nhưng khi nhấp bên ngoài cộng (tức là bất cứ nơi nào trên trang), các popover vẫn còn hiện diện (nhưng không hiển thị) ngay trên </body>
.
Vui lòng trợ giúp! Đây làm phiền các địa ngục ra khỏi tôi .. :(
Edit: Có thể là giá trị đề cập rằng popovers được tự động thêm vào:
$('.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;
}
});
Cảm ơn mẹo, nhưng tôi đã thử điều đó và kết quả là các cửa sổ bật lên không bao giờ xuất hiện trở lại. –
@rebellion xin lỗi khi nghe điều đó, nhưng cửa sổ bật lên ('phá hủy') sẽ hoạt động như được mô tả trong tài liệu. Nếu nó không hoạt động, thì lỗi phải ở một nơi khác, trừ khi bạn sử dụng Bootstrap cũ hơn: http://stackoverflow.com/questions/12130265/javascript-error-when-destroying-bootstrap-popover – Hans
Cảm ơn @Hans, I ' đã cập nhật câu hỏi của tôi với mã cho cửa sổ bật lên được thêm động. Bạn có nghĩ rằng có điều gì đó liên quan đến vấn đề 'hủy diệt'? –