2012-06-27 9 views
21

Sto usando il popover per visualizzare un'immagine che non richiede un titolo. Se non si imposta "titolo", viene comunque visualizzata un'area in cui si trova il titolo. Come lo spegni completamente?Come si disabilita il titolo nel plug-in popover di Twitter Bootstrap?

Follow-up: volevo che i rispondenti mantenessero i loro punti, ma ho pubblicato la mia implementazione finale come risposta separata qui sotto.

risposta

39

baptme di suggerire è ok, ma il modo migliore sarebbe quello di specificare il titolo del tuo popover e in realtà lo nascondi completamente come esistono ancora margini con un'altezza di 0.

.popover-title { display: none; } 

Edit: appena quicky guardato alla fonte e sembra che ci sia un'opzione non documentata:

$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { 
    placement: 'right' 
    , content: '' 
    , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' 
    }) 

Quando si dichiara la tua popover utilizzando JS, cercare di ignorare il modello e specificare un titolo nascosto.

$('#example').popover({ 
    template: '...<h3 class="popover-title" style="display: none"></h3>...' 
}); 

Il motivo dico che non rimuoverlo è esso può causare errori di runtime se l'elemento non esiste. Vedi il commento di Sherbrow.

+0

Se la popover è di $ ('# esempio'). Popover (opzioni), allora qual è il CSS per andare a questo elemento id e non tutti i titoli popover? –

+0

L'elemento del popover viene creato al passaggio del mouse e distrutto su un mouseleave. Non puoi mirare specificamente a quell'elemento. Vedere la mia modifica per una possibile soluzione – Terry

+3

@Terry è possibile rimuoverlo, poiché è utilizzato con un selettore jQuery: http://jsfiddle.net/Sherbrow/3GMnz/ – Sherbrow

1

il modo più semplice è quello di fare impostare height:0px sulla classe .popover-title e non usare data-original-title

CSS:

.popover-title { height: 0px;} 
5

Ho terminato utilizzando una combinazione delle tecniche suggerite da @Terry e @Sherbow. Mostra l'immagine, ma non il titolo (solo per questo popup).

<a href="#" id="contributors" rel="popover">contributors</a> 

... 

<script> 
var contributor_img = '<img src="my_img/contributor.png" />' 


$(function() 
{ $('#contributors').popover({ 
    content: contributor_img, 
    template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>' }); 
}); 
</script> 
0

È possibile anche scrivere una funzione per rimuovere l'elemento:

function removeTitle(){ 
    $('.popover-title').remove(); 
} 

$("a[data-toggle=popover]") 
    .popover({ 
    html: true, 
    animation: true 
}) 
.click(function(e) { 
    removeTitle(); 
    e.preventDefault() 
}) 
Problemi correlati