I have the following structure for a mobile menu.
<nav id="mobile-menu" class="fa fa-bars">
<ul id="#menu-header-menu-mobi" class="menu" style="display: block;">
<li id="menu-item-27-mobi" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item menu-item-has-children menu-item-27"><a href="javascript:;">About Us</a>
<ul class="sub-menu">
<li id="menu-item-24-mobi" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-24"><a href="http://localhost/Sites/wp/?page_id=4">Our Environment</a>
</li>
<li id="menu-item-25-mobi" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25"><a href="http://localhost/Sites/wp/?page_id=6">Our History</a>
</li>
<li id="menu-item-23-mobi" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23"><a href="http://localhost/Sites/wp/?page_id=8">Executive Team</a>
</li>
<li id="menu-item-22-mobi" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22"><a href="http://localhost/Sites/wp/?page_id=10">Core Values</a>
</li>
</ul>
</li>
<li id="menu-item-28-mobi" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-28"><a>Companies</a>
</li>
<li id="menu-item-20-mobi" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20"><a href="http://localhost/Sites/wp/?page_id=12">Careers</a>
</li>
<li id="menu-item-19-mobi" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19"><a href="http://localhost/Sites/wp/?page_id=16">Blog</a>
</li>
<li id="menu-item-21-mobi" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21"><a href="http://localhost/Sites/wp/?page_id=14">Contact</a>
</li>
</ul>
</nav>
I then have the following javascript to open and close the menu item that has children.
$("#header nav#mobile-menu li.menu-item-has-children").on("click", function (event) {
event.preventDefault();
var t = $(this);
var sub = t.children("ul.sub-menu");
if (sub.hasClass("open")) {
sub.removeClass("open");
} else {
sub.addClass("open");
}
return false;
});
This works but the problem is that when I click a child item, this script is run again because the child item is contained within the parent li tag. Is there a way I can rework this to get the same functionality but still have the links in the child li tags work? Thanks.