2013-07-15 4 views
2

아래 HTML에 따라 nav ul 요소에 부트 스트랩 (버전 2.3.2) 드롭 다운이 있습니다. IE의 드롭 다운에서 항목을 클릭하면 드롭 다운 목록이 닫힙니다. 이것은 올바른 동작 인 것 같습니다. 그리고 확실히 내가 원하는 것입니다. Firefox, Chrome 및 Safari의 경우 드롭 다운 목록이 닫히지 않습니다.부트 스트랩 드롭 다운 항목을 닫지 않음

<nav class="navbar navbar-fixed-top"> 
    <div class="navbar-inner"> 
     <a class="brand" href="/"> 
      <span class="title">Doc Assembler</span> 
     </a> 

     <div class="loader pull-left" data-bind="css: { active: showLoader }"> 
      <i class ="icon-spinner icon-2x icon-spin" ></i> 
     </div> 

     <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
     </a> 

     <div class="nav-collapse collapse"> 
      <ul class="nav" data-bind="foreach: navRoutes"> 
       <li><a data-bind="css: { active: isActive() }, attr: { href: hash }, text: name"></a></li> 
      </ul> 

      <ul class="nav"> 
       <li class="dropdown"> 
        <a class="dropdown-toggle" data-toggle="dropdown" href="#"> 
         <i class="icon-cogs"/> Admin<b class="caret"></b> 
        </a> 
        <ul class="dropdown-menu pull-right"> 
         <!-- ko foreach: adminRoutes --> 
         <li><a data-bind="attr: { href: hash }, html: caption"></a> 
         <!-- /ko --> 
        </ul> 
       </li> 
       <li><a data-bind="click: logOff" href="#"><i class="icon-signout"/> Log Off</a></li> 
      </ul> 
     </div> 
    </div> 
</nav> 

내가 아닌 다른 브라우저에서 항목을 클릭하면, 부트 스트랩에서 clearMenus 방법은 IE에서 호출되는 것을 볼 수 있습니다. 메뉴가 열리면 모든 브라우저에서 clearMenus가 호출됩니다. 그러나 나는 비슷한 문제를 자세히 아무것도 찾을 수가 없었다, 나는 몇 가지 문제가 부트 스트랩의 이전 버전에두고 있었다 알고

$(document) 
    .on('click.dropdown.data-api', clearMenus) 
    .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) 

: 나는 부트 스트랩에서 다음 코드와 함께 할 수있는 뭔가가 있다고 생각 현재 버전.

답변

1

Durandal에서 라우터 플러그인을 사용하고 있습니다. router.js의 completeNavigation 메소드에 다음 코드 줄을 추가하여이 문제를 해결했습니다.

$('li[class="dropdown open"]').removeClass('open'); 
관련 문제