0

I use jqueru and foundation zurb data-responsive-toggle. How can close menu when click outside them. I try this one code, but when I click outside is hidden, and also click to link it's hidden too. How to prevent this one.

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

also I tried this one

  $(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>
Palaniichuk Dmytro
  • 2,943
  • 12
  • 36
  • 66

1 Answers1

0

It's work for me 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();
    });
Community
  • 1
  • 1
Palaniichuk Dmytro
  • 2,943
  • 12
  • 36
  • 66