2012-11-07 4 views
8

Ich möchte ein Popover in einem zusammenklappbaren div enthalten sein: http://jsfiddle.net/nathan9/qgyS7/. Das Popover scheint jedoch auf das Ausmaß des div beschränkt zu sein. Gibt es eine Möglichkeit, das Clipping zu verhindern?Bootstrap-Popover abgeschnitten zu Umfang von mit div

<a href="#toggle" data-toggle="collapse" data-target="#toggle" onClick="return false;">Toggle collapse</a> 
<div id="toggle" class="collapse" style="background-color: yellow"> 
    Content of collapsible div. Click for popover: 
    <i class="icon-info-sign" id="info"></i> 
</div> 

...

<script> 
    $('#info').popover({ html: true, placement: 'left', title: 'Popover', content: "<ul><li>The</li><li>popover</li><li>is</li><li>clipped.</li></ul>" }); 
</script> 
+0

Überprüfen Sie diese Antwort: http://stackoverflow.com/a/14800781/1478467 ([demo] (http://jsfiddle.net/Sherbrow/qgyS7/8/)) – Sherbrow

Antwort

2

.collapse.in {overflow:visible} Zugabe scheint der Trick

http://jsfiddle.net/ZArX7/

EDIT zu tun: Über Antwort nur in Chrom gearbeitet

ist hier ein Stück jquery, die das Hinzufügen der Klasse verzögert.

 $('#toggle_link').click(function() { 
    if($('#toggle').hasClass('in')){ 
     $('#toggle').removeClass('visible'); 
    }else{ 
     setTimeout(function() { 
      $('#toggle').addClass('visible'); 
     }, 1000); 
    } 
}); 

Diese Lösung funktioniert

http://jsfiddle.net/fnP7y/

+0

Leider hat dies auch die Wirkung von den Akkordeon-Effekt zu ruinieren - dh der Inhalt des kollabierten div wird sofort gezeigt, anstatt sich allmählich zu offenbaren, wenn das div expandiert. Gibt es eine andere Art und Weise? – nathan9

+0

Ich spiele schon seit einiger Zeit damit und Mikes Antwort scheint für jetzt die beste Wette zu sein. Wir haben ein offenes Problem auf github für das Popover und Tooltips für bestimmte Elemente, und ich habe deine Geige mit den Tooltips und Popovers zur Liste der Bugs hinzugefügt - [git hub issue] (https://github.com/ twitter/bootstrap/issues/5687) – Yohn

8

Timer zu verwenden ist immer ein riskantes Geschäft. Ich habe eine Variante von Mike Lucid benutzt, die auf das faltbare Event lauscht, gezeigt und versteckt wird.

Here is a working fiddle

Der Code ist wie folgt:

$(document).ready(function(){ 
    $('#toggle') 
    .on('shown', function(evnt) { 
     $(evnt.target).addClass('visible'); 
    }) 
    .on('hide', function(evnt) { 
     $(evnt.target).removeClass('visible'); 
    }) 
    ; 
}); 

Wenn Sie Ihre collapsable auf Last sichtbar sein wollen, vergessen Sie nicht Klassen in und sichtbar zu Ihrem collapsable hinzufügen div.

bearbeiten

mit Bootstrap Ab 2.3, Tooltips und popover haben eine neue container Option. Wenn Sie den Container auf "body" setzen, werden Ihre QuickInfos und Popover nicht abgeschnitten. Here is a working fiddle.

Hoffe, dass hilft.