2012-11-07 10 views
8

Chcę popover być zawarte w składanym div: http://jsfiddle.net/nathan9/qgyS7/. Jednak popover wydaje się być ograniczony do zakresu div. Czy istnieje sposób, aby zapobiec obcinaniu?Popper Bootstrap przycięty do zakresu zawierającego 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

Sprawdź tę odpowiedź: http://stackoverflow.com/a/14800781/1478467 ([wersja demo] (http://jsfiddle.net/Sherbrow/qgyS7/8/)) – Sherbrow

Odpowiedz

2

dodanie .collapse.in {overflow:visible} wydaje rade

http://jsfiddle.net/ZArX7/

EDIT: Powyżej odpowiedź pracował tylko w chromie

Oto kawałek jquery, które opóźnia dodanie klasy.

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

To rozwiązanie działa

http://jsfiddle.net/fnP7y/

+0

Niestety, ma to również wpływ rujnując efekt akordeonu - tzn. zawartość zwiniętego div jest natychmiast pokazana zamiast ujawniania się stopniowo, gdy div się rozwija. Czy istnieje inny sposób? – nathan9

+0

Gram z tym od jakiegoś czasu, a odpowiedź Mike'a wydaje się być najlepszym rozwiązaniem na teraz. Mamy otwarty numer na github dla popover i tooltips teraz za umieszczenie na pewnych elementach, i dodałem twoje skrzypce do listy błędów z etykietkami i popoverami - [problem z git hubem] (https://github.com/ twitter/bootstrap/issues/5687) – Yohn

8

Korzystanie czasomierz jest zawsze ryzykowne. Użyłem wariantu Mike Lucid, który słucha składanego wydarzenia, pokazanego i ukrytego.

Here is a working fiddle

Kod jest następująco:

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

Jeśli chcesz, aby składanego być widoczne na obciążenia, nie zapomnij dodać klas w i widocznym aby Twój składanego div.

Edit

Począwszy Bootstrap 2.3, podpowiedzi i popover mieć nową container opcję. Jeśli ustawisz kontener na "body", twoje podpowiedzi i popovers nie zostaną przycięte. Here is a working fiddle.

Nadzieję, że pomaga.

Powiązane problemy