2017-01-26 1 views
0

저는 jqueru 및 foundation zurb data-responsive-toggle을 사용합니다. 메뉴를 닫을 때 어떻게 닫을 수 있습니까? 나는이 하나의 코드를 시도하지만, 바깥 쪽을 클릭하면 숨겨지며 링크를 클릭해도 숨겨집니다. 이것을 방지하는 방법.Clikc 바깥 쪽 토글 메뉴 - 메뉴 숨기기 및 닫기 버튼

$(".navigation-mobile").click(function (event) { 
     $(".menu-toggle").removeClass("open"); 
     $(this).removeClass("active").css('display', 'none'); 
     event.stopPropagation(); 
     event.preventDefault(); 
    }) 

도 내가 나를 위해이 일

$(window).click(function (e) { 
     var isActive = $('#mobile-nav-menu').hasClass('active'); 
     if(isActive){ 
      $('#mobile-nav-menu').removeClass("active").css('display', 'none'); 
      e.preventDefault(); 
      e.stopPropagation(); 
     } 
    }); 

<div class="mobile-menu no-js" data-responsive-toggle="mobile-nav-menu" data-hide-for="large" data-close-on-click> 
    <div class="row column"> 
    <div class="top-bar-left"> 
     <a class="logo" href="/html/index.html"><img src="../images/egl-logo.png" alt="logo"></a> 
    </div> 
    <div class="top-bar-right"><span class="icon icon-search color-white"></span> 
     <div class="menu-block show-for-medium"> 
     <ul class="menu"> 
      <li><a class="primary small" href="analizes-grozs.html"><span class="icon icon-cart"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></span>Grozs</a></li> 
     </ul> 
     </div> 
     <button class="menu-toggle" type="button" data-toggle></button> 
    </div> 
    </div> 
</div> 
<div class="navigation-mobile no-js hide-for-large" id="mobile-nav-menu"> 
    <div class="row column padd-off"> 
    <div class="navigation-mobile-search"> 
     <input type="text" placeholder="Meklēt"><span class="icon icon-search"></span> 
    </div> 
    <div class="navigation-mobile-wrapper"> 

     <div class="menu-block"> 
     <ul class="vertical menu" data-accordion-menu> 
      <li></li> 
     </ul> 
     </div> 
    </div> 
    </div> 
</div> 
+2

http://stackoverflow.com/a/153047/4865318 –

답변

0

그건 작업을 시도 How do I detect a click outside an element?

$(window).click(function() { 
     var isActive = $('#mobile-nav-menu').hasClass('active'); 
     if(isActive){ 
      $('#mobile-nav-menu').removeClass("active").css('display', 'none'); 
      $('.menu-toggle').toggleClass('open'); 

     } 
    }); 
    $('.navigation-mobile-wrapper').click(function(event){ 
    event.stopPropagation(); 
    });