12

Najnowsza wersja programu Twitter bootstrap (2.3.2) wydaje się mieć problem z rozwijanymi menu na urządzeniach mobilnych.Menu rozwijane nie działa na urządzeniach mobilnych.

Po kliknięciu pozycji menu po otwarciu menu, menu po prostu zamyka się i nie ma kliknięcia żadnego łącza. Można to zobaczyć na ich stronie próbki tutaj: http://twitter.github.io/bootstrap/examples/hero.html

znalazłem problem napisali na swojej stronie github ale nie rozwiązanie: https://github.com/twitter/bootstrap/issues/7927

Czy ktoś wie trick to naprawić?

Odpowiedz

35

tymczasowym rozwiązaniem jest dodanie

.dropdown-backdrop{ 
    position: static; 
} 

do pliku css.

+0

Pracowałem dla mnie z BS 2.3.2. Dzięki! – steakchaser

7

Ten pracował dla mnie:

$('.dropdown-toggle').click(function(e) { 
    e.preventDefault(); 
    setTimeout($.proxy(function() { 
    if ('ontouchstart' in document.documentElement) { 
     $(this).siblings('.dropdown-backdrop').off().remove(); 
    } 
    }, this), 0); 
}); 

poprzez robdodson na github

+1

Poprawka CSS nie działa dla mnie, ale tak się stało. Wielkie dzięki! Używam klejnotu "twitter-bootstrap-rails" gem. – Linus

+1

Awesome! Używam również klejnotów twitter-bootstrap-rails. Wypróbowałem kilka innych poprawek. Ten pracował dla mnie! Wspaniały! Dziękuję Ci! – coderuby

0

Mam ustalony ten problem.

Mój kod jest tutaj

<li class="dropdown custom open"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> menu<b class="caret"></b></a> 
      <ul class="dropdown-menu"> 
       <li><a href="#">Sub menu</a></li> 
       <li><a href="#">Sub menu2</a></li> 
       </ul> 
      </li> 

Dodaj następujący styl w CSS fie.

@media (max-width: 767px) { 
.dropdown.custom:hover .dropdown-menu { 
    visibility: visible; 
    display:block; 
    border-radius:0; 

} 
} 

wizyta: http://www.s4auto.co.za/

2

Dla mnie to zadziałało dodanie do moich stylach:

.dropdown-backdrop { 
    z-index:0; 
} 

prawie taką samą odpowiedź jak Matthias, mam nadzieję, że to pomaga.

+0

Musiałem użyć 'z-index: -1', aby to zadziałało (BS 3.3.7) –

0

Żadna ze zwykłych odpowiedzi nie rozwiązała problemu z Androidem. Próbowaliśmy zaakceptowane odpowiedź tu kilka javascript hacki, a także: Bootstrap Collapsed Menu Links Not Working on Mobile Devices i http://alittlecode.com/fix-twitter-bootstraps-dropdown-menus-in-touch-screens/

końcu odkryliśmy, gdzie blisko została występujących i warunkowo nazywa clearMenus() tylko jeśli rodzic linki lub Dziadkowie nie mają dropdown-submenu klasę

$(document) 
.on('click.dropdown.data-api', function (e) { 

    //fix start   
    var $parent = $(e.target).parent() 
    var $grandparent = $parent.parent() 

    if (!$parent.hasClass('dropdown-submenu') && !$grandparent.hasClass('dropdown-submenu')) {   
     clearMenus() 
    } 

    //clearMenus 

    //end fix 
}) 
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) 
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle) 
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) 

}(window.jQuery); 

Nadzieję, że pomaga!

Powiązane problemy