2011-12-10 3 views
23

Cosa sto facendo di sbagliato qui?Twitter Bootstrap pop-over non caricando

ho provato in un progetto più ampio e faceva farlo funzionare sia

veder la mia jsfiddle

http://jsfiddle.net/keithmancuso/24RQM/

UPDATE: ok così ho ottenuto che funziona se aggiungo manualmente $ (".pop") popover().; ma devo inizializzarli così?

Penso che la risposta è sì ... si ha la loro inizializzazione nel proprio codice per farlo funzionare ... il modo più semplice che ho trovato per farlo è sufficiente aggiungere

$(function() { 
    $('a[rel="popover"]').popover(); 
}); 
+2

Ehi Keith, il tuo jsfiddle era vuoto quando lo guardai. Probabilmente dovresti aggiungere del codice o semplicemente rimuoverlo. –

+2

Per quanto ne so, in effetti è necessario inizializzare i popover in quel modo. Bootstrap non vuole scansionare l'intero dom (troppo lento) per farlo automaticamente. (Citazione dal sito di bootstrap: "Per motivi di prestazioni, i dati-apis di Tooltip e Popover sono opzionali. Se vuoi usarli, specifica l'opzione del selettore.") – ahmeij

risposta

23

Ho avuto un problema simile. Stavo cercando una versione javascript-less del popup bootstrap ma non sembra possibile. Se si guarda alla sorgente della pagina di http://twitter.github.com/bootstrap/javascript.html#popover alla linea 709-718 vedrete che l'esempio fa qualcosa di simile:

Heres una versione semplificata che funziona per me

<a href="#" class="btn danger" 
      rel="popover" 
      data-original-title="title" 
      data-content="content">popover</a> 
<script> 
    $("a[rel=popover]").popover(); 
</script> 

Edit: per recente versioni di twitter boostrap (in questo momento 2.2.1) potresti incontrare un problema in cui quando fai clic su un collegamento popover, sei portato in cima alla pagina. Questa risposta potrebbe essere utile anche https://stackoverflow.com/a/13759775/341692. In pratica i tuoi js ora dovrebbero essere

<script> 
$("a[rel=popover]") 
    .popover() 
    .click(function(e) { 
     e.preventDefault(); 
    });​ 
</script> 
+0

Ha ragione è necessario chiamarlo come sopra w/JS. Un po 'strano causa tutto l'altro che potrei chiamare usando il markup corretto. – mdgrech

+0

Molte grazie. Ha funzionato come un fascino. –

0

Per quello che vale, ho risposto a una domanda simile here riguardante l'utilizzo dei selettori a con la funzione bootstrap tabs(). Scommetto che popover() è simile.