У меня проблема с выпадающим меню, которое должно оставаться открытым до щелчка. После того, как меню открыто, вы можете щелкнуть ссылку внутри и только что щелкнули элемент меню.Раскрывающееся меню Открытая ширина JQuery
Как это сделать, чтобы исправить ошибку preventDefault
?
Меню HTML:
<nav class="main-menu">
<ul id="" class="menu">
<li>
<a href="http://www.google.com" target="_blank">Menu One</a>
<div class="sub-menu">
<ul>
<li><a href="http://www.google.uk" target="_blank">test test test</a></li>
... More links ...
</ul>
</div>
</li>
... More items ...
</ul>
</nav>
Это часть кода
$('.main-menu li a').click(function(event) {
event.preventDefault();
$('.main-menu').find('.sub-menu').removeClass('open');
$(this).parent().find('.sub-menu').addClass('open');
});
Пример виден здесь JSFIDDLE
Мы почти там! Итак, когда открыто «подменю», меню верхнего уровня должно стать интерактивным (на google.uk). спасибо! – jonnywalker
@jonnywalker, так как эти пункты меню выполняют другое действие, вам необходимо зарегистрировать другой обработчик для события click для этого - [** Пример **] (https://jsfiddle.net/umg4Ly0z/). Или, в конечном счете, зарегистрировать события click для 'a' с определенными классами (чтобы вы могли смешивать действия) - [** Пример **] (https://jsfiddle.net/4gkLngL1/) –