2015-03-10 2 views
1

Я нахожусь в середине перехода моего приложения из Bootstrap 2.3.2 на 3.3.2. У меня это в основном работает, но у меня проблемы с свернутой версией моего навигатора. Когда я на экране с уменьшенным размером (на моем телефоне или при сужении окна моего рабочего стола), я вижу кнопку спящего меню, и если я нажму на это, откроется меню, но после этого нажмите не закройте меню.Свернутое меню Bootstrap, после открытия, не закрывается снова

Это не тот же вопрос, что и this one, который касался нажатия на один из элементов в сложенном меню. В моем случае, щелчок по самому заголовку не закрывает меню, которое должно быть AFAIK.

Мой навигатор находится на сложной стороне, но не так замечательно. Eliding некоторые из основной массы, то есть:

<div class="navbar navbar-default navbar-fixed-top" role="navigation"> 
    <div class="container"> 
    <div class="navbar-header"> 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".querki-navbar-collapse"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
     <a class="navbar-brand" href="/"><img src="/assets/images/Logo-menubar.png"></a> 
    </div> 

    <div class="querki-navbar-collapse navbar-collapse collapse"> 
     <ul class="nav navbar-nav"> 
     <li><a href="#.1v" id="">All Things</a></li> 
     <li class="dropdown"> 
      <a class="dropdown-toggle" data-target="#Actions" href="#Actions" data-toggle="dropdown" role="button">Actions <b class="caret"></b></a> 
      <ul class="dropdown-menu" role="menu"> 
      <li><a id="" href="#">Refresh</a></li> 
      <li class="divider"></li> 
      <li><a id="" href="#">Design a Model</a></li> 
      ... 
      <li class="disabled"><a>Delete All Things</a></li> 
      </ul> 
     </li> 
     <li class="dropdown"> 
      <a class="dropdown-toggle" data-target="#Admin" href="#Admin" data-toggle="dropdown" role="button">Admin <b class="caret"></b></a> 
      <ul class="dropdown-menu" role="menu"> 
      <li><a href="/admin/manageUsers" id="">Manage Users</a></li> 
      ... 
      </ul> 
     </li> 
     </ul> 
     <ul class="nav navbar-nav navbar-right"> 
     <li class="dropdown"> 
      <a class="dropdown-toggle" data-target="#Logged in as Mark Waks" href="#Logged in as Mark Waks" data-toggle="dropdown" role="button">Logged in as Mark Waks <b class="caret"></b></a> 
      <ul class="dropdown-menu" role="menu"> 
      <li><a href="/u/mark" id="">Your Profile</a></li> 
      <li><a href="/logout" id="">Log out</a></li> 
      </ul> 
     </li> 
     </ul> 
     <form class="navbar-form navbar-right" role="search"> 
     <div class="form-group"> 
      <input class="search-query form-control _withGadget" type="text" placeholder="Search"> 
     </div> 
     </form> 
     <ul class="nav navbar-right"> 
     <li> 
      <a href="#_notifications" class="_withGadget"><i class="icon-bell"></i></a> 
     </li> 
     </ul> 
    </div> 
    </div> 
</div> 

У меня есть обработчики нажмите приложенный ко многим из отдельных пунктов меню, но не AFAIK самих заголовков.

Я использую jQuery 2.1.3 (от webjars) и совершенно новый Bootstrap, поэтому 3.3.2. Я попросил все компоненты JavaScript из загрузки Bootstrap. Я не вижу никаких ошибок на консоли, когда я пытаюсь щелкнуть меню закрытым; это просто не происходит. Как ни странно, у меня возникли трудности с прикреплением обработчика кликов к .navbar-toggle (который я попытался для расследования) - опять же, ничего не происходит, когда я пытаюсь это сделать, что заставляет меня подозревать, что это связано.

Подменю do работает как ожидалось: если я нажму на один из заголовков подменю, он откроется, и щелчок снова закроет его. Таким образом, проблема вообще не является ниспадающей.

Я замечаю, что когда я нажимаю на значок верхнего меню, он открывается мгновенно, а не раздвигается так, как это делается на сайте Bootstrap. (И так, как это было в моей предыдущей версии 2.3.2.) Кроме того, когда он открывается, размер кажется фиксированным, чего раньше не было: я получаю полосу прокрутки для открытого меню и пытаюсь прокрутки, что приводит к странным mal-эффектам.

К сожалению, поскольку даже файл с минимальной загрузкой Bootstrap.js является однострочным, его очень сложно отладить. У кого-нибудь есть предложения о том, как преследовать это?

ETA: Интересно. Дополнительная привязка: эта проблема находится на моей сгенерированной программой. (В основном это одностраничное приложение.) Когда я применяю по существу те же теги к моей статической странице входа в систему, все работает отлично. Поэтому кажется, что проблема связана с созданием меню после инициализации страницы. Нужно ли мне что-то пинать с помощью JavaScript, чтобы заставить его работать правильно?

ответ

0

Ничего - получилось. Достаточно сказать, что это была проблема с версией: динамическая страница собирала старую версию плагина с плагином 2.3.2, и все путалось. Я удивлен, что меню открылось совсем, но положил правильную версию коллапса на место, зафиксировав его ...

Смежные вопросы