Есть адаптивное многоуровневое меню (скриншот прикладывается), и вот собственно суть небольшого дефекта: при клике на пункт меню (категорию) открываются подпункты и выбираются их значения, все как бы замечательно, но почему-то сами пункты(категории) выбрать нельзя, нажать на них и выбрать их значение. Как-то так обьяснил... Сказали что ошибка в коде, но где не могу понять...
Вот код
<?php if ($categories) { ?>
<div class="container">
<a class="toggleMenu" href="#">Menu</a>
<ul class="nav_menu">
<?php foreach ($categories as $category) { ?>
<li><?php if ($category['children']) { ?><?php } ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php if ($category['children']) { ?>
<?php for ($i = 0; $i < count($category['children']); $i++) { ?>
<ul>
<?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
<?php for ($i=0; $i < $j; $i++) { ?>
<?php if (isset($category['children'][$i])) { ?>
<li>
<a href="<?php echo $category['children'][$i]['href']; ?>">
<?php echo $category['children'][$i]['name']; ?></a>
</li>
<?php } ?>
<?php } //for i < $j ?>
<?php } //for ($i = 0; $i < count ?>
</ul>
<?php } // if ($category['children']) #8 ?>
</li>
<?php } // foreach ($categories as $category) ?>
</ul>
<div>
<?php } ?>
Вот js скрипт который обрабатывает:
<script>
var ww = document.body.clientWidth;
$(document).ready(function() {
$(".nav_menu li a").each(function() {
if ($(this).next().length > 0) {
$(this).addClass("parent");
};
});
$(".toggleMenu").click(function(e) {
e.preventDefault();
$(this).toggleClass("active");
$(".nav_menu").toggle();
});
adjustMenu();
});
$(window).bind('resize orientationchange', function() {
ww = document.body.clientWidth;
adjustMenu();
});
var adjustMenu = function() {
if (ww < 768) {
$(".toggleMenu").css("display", "inline-block");
if (!$(".toggleMenu").hasClass("active")) {
$(".nav_menu").hide();
} else {
$(".nav_menu").show();
}
$(".nav_menu li").unbind('mouseenter mouseleave');
$(".nav_menu li a.parent").unbind('click').bind('click', function(e) {
// must be attached to anchor element to prevent bubbling
e.preventDefault();
$(this).parent("li").toggleClass("hover");
});
}
else if (ww >= 768) {
$(".toggleMenu").css("display", "none");
$(".nav_menu").show();
$(".nav_menu li").removeClass("hover");
$(".nav_menu li a").unbind('click');
$(".nav_menu li").unbind('mouseenter mouseleave').bind('mouseenter mouseleave', function() {
// must be attached to li so that mouseleave is not triggered when hover over submenu
$(this).toggleClass('hover');
});
}
};
</script>