0

I have html menu

$('.mobile-menu_icon').click(function(event) {
  $('.menu-mobile_list').addClass('mobile-menu_active');
});
<img src="img/mobile.png" class='pull-right mobile-menu_icon visible-xs' alt="">
  <ul class='menu-mobile_list col-xs-6'>
        <li class="menu-mobile_item"><a href="">Main</a></li>
 <li class="menu-mobile_item"><a href="">Contacts</a></li>
 <li class="menu-mobile_item"><a href="">About Us</a></li>
 <li class="menu-mobile_item"><a href="">FAQ</a></li>
   </ul>

How to write something like:

!$("ul, li").click(function(e){
   $('.menu-mobile_list').removeClass('mobile-menu_active');
})

(if user click on a different place of the screen, but not on menu, menu should close)

cosmoonot
  • 2,161
  • 3
  • 32
  • 38
Bim Bam
  • 429
  • 1
  • 6
  • 17
  • Possible duplicate. http://stackoverflow.com/questions/4614120/not-class-selector-in-jquery – Eric Apr 14 '17 at 04:40
  • To directly answer the question you're asking, there is a [css selector for negation](https://developer.mozilla.org/en-US/docs/Web/CSS/:not). You can use it like `$('div:not(.some-class)')` – Rico Kahler Apr 14 '17 at 04:48
  • also [$.not()](http://api.jquery.com/not/) – Michael Coker Apr 14 '17 at 04:54

1 Answers1

1

You cant do that what you can do is

$(body).click(function(e)
{ if(!$(e.target).is( 'ul'))
{
$('.menu-mobile_list').removeClass('mobile-menu_active'); 
}
});
RemyaJ
  • 5,358
  • 4
  • 22
  • 41