2015-08-14 3 views
0

Я создал простой мобильный телефон nav, который работает в некоторой степени, но как только вы дойдете до ссылки, которая фактически идет на страницу, JavaScript, который выполняет функции, предотвращает это действие, делает это имеет смысл?Mobile Nav, щелкните по JavaScript

У меня есть prevent default на a тегов, чтобы показать подменит и в результате этого ссылка на этой странице не на самом деле интерактивная, вот jsfiddle

$('.mobile-nav ul.parent-level > li.has-submenu').on('click',function(e){ 
    $('ul.level-one').css('left', 0); 
    e.preventDefault(); 
}); 
$('.mobile-nav ul.level-one > li').on('click',function(e){ 
    if(!$(this).hasClass('back-title')){ 
     $(this).find('ul.level-two').css('left', 0); 
    } 
    e.preventDefault(); 
}); 
$('.mobile-nav li.back-title').on('click',function(e){ 
    //alert('go back'); 
    $(this).parent().css('left', '100vw'); 
    e.preventDefault(); 
    e.stopPropagation(); 
}); 

ответ

1

Нужен ли вы в preventDefault()? На самом деле у вас есть предел по умолчанию для литов, а не тегов, которые на самом деле не будут делать ничего неблагоприятного, что вам нужно предотвратить, не так ли?

Я удалил

e.preventDefault();

линии и ссылки в подменю теперь стали интерактивными - казалось бы, с не влияет негативно на остальной части меню. Посмотрите, согласны ли вы ...

http://jsfiddle.net/rzvwb113/3/

Смежные вопросы