mio sito ha più popovers su una mappa (solo un div immagine di sfondo con) con icone cliccabili:Bootstrap Popover contenuto cliccabile quando nascosti
http://f.cl.ly/items/44382Q2Y3U3t2S450r3w/Skjermbilde%202013-09-01%20kl.%2023.15.58.png
Cliccando le icone, un popover viene mostrato. Questo popover ha una giostra che contiene il testo con link:
http://f.cl.ly/items/0s2v2i193z0u1D0N163D/Skjermbilde%202013-09-01%20kl.%2023.35.34.png
Quando clicco fuori del popover, tutte le popovers sono nascosti. Questo presumibilmente funziona ok. Ho ricevuto il codice da this Stack Overflow question.
Ma il vero problema si verifica quando si fa clic all'esterno del popover per nasconderlo di nuovo. Il popover è nascosto, ma è ancora nel DOM. Ciò significa che i collegamenti sono ancora cliccabili!
http://f.cl.ly/items/0T0p422c1A202b2M1J20/Skjermbilde%202013-09-01%20kl.%2023.34.28.png
Quando scatto l'icona più per nascondere il popover, il popover è nascosta (rimosso?), Ma quando si fa clic al di fuori del segno più (vale a dire qualsiasi punto della pagina), il popover è ancora presente (ma non visibile) sopra lo </body>
.
Si prega di aiuto! Questo infastidisce l'inferno fuori di me .. :(
Edit: Potrebbe valere la pena ricordare che le popovers sono dinamicamente aggiunti:
$('.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;
}
});
Grazie per il suggerimento, ma ci ho provato, e il risultato è che i popover non vengono mai più visualizzati. –
@rebellion mi spiace sentirlo, ma popover ('destroy') dovrebbe funzionare come descritto nella documentazione. Se non funziona, il bug deve essere da qualche altra parte, a meno che non si usi un Bootstrap precedente: http://stackoverflow.com/questions/12130265/javascript-error-when-destroying-bootstrap-popover – Hans
Grazie a @Hans, I ' Ho aggiornato la mia domanda con il codice per il popover aggiunto dinamicamente. Pensi che abbia qualcosa a che fare con il problema 'destroy'? –