Я делаю код скрытия и отображения раскрывающегося списка при нажатии кнопки триггера и скрытия при нажатии тела, кроме кнопки триггера, она работает нормально.
Но он также скрывает раскрывающийся список, если я нажимаю на раскрывающееся меню. Я не хочу выполнять функцию щелчка тела при нажатии раскрывающегося раскрывающегося списка
Пожалуйста, проверьте код ниже и скажите, что я делаю не так
Вот мой HTML
<div class="mhb-item-inner tabletMobile">
<a class="mobile-menu-toggle" href="#"><i class="icon-menu-fine"></i></a>
<ul id="menu-main-menu-4" class="menu" style="display: block;">
<li class="menu-item menu-item-4667 submenu"><a href=><span>SEARCH HOME</span></a>
<ul class="sub-menu">
<li class=""><a target="_blank" href=""><span>Search All Homes</span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4669"><a target="_blank" href=""><span>Luxury Homes</span></a></li>
</ul>
<span class="menu-toggle"></span>
</li>
<li class="menu-item menu-item-4677 submenu"><a href="#"><span>SEARCH BY SCHOOL DISTRICT</span></a>
<ul class="sub-menu">
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4678"><a target="_blank" href=""><span>Avon Grove</span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4679"><a target="_blank" href=""><span>Coatesville</span></a></li>
</ul>
<span class="menu-toggle"></span>
</li>
</ul>
</div>
jQuery(document).click(function(e){
var lernerMenu = jQuery('.tabletMobile .mobile-menu-toggle');
var lernerMenuMenu = jQuery('.tabletMobile .mhb-menu .menu');
if (!lernerMenu.is(e.target) && lernerMenu.has(e.target).length === 0)
{
jQuery('#menu-main-menu-4').hide();
} else {
jQuery('#menu-main-menu-4').show();
}
});
Он работает нормально и скрывает div при щелчке по телу, но также скрывает div, если я щелкаю по раскрывающемуся раскрывающемуся списку. Я не хочу закрывать раскрывающийся список по его щелчку, поскольку он содержит подменю для пункта меню. Я надеюсь, что это поможет вам