Запретить ссылку если есть подменю.
Здравствуйте.
Подскажите пожалуйста, как запретить ссылку в главном меню, если у него есть подменю? Как запретить вообще знаю, но в главном меню есть вкладки у которых нет подменю и они должны работать, а у тех которых есть подменю, ссылка должна быть запрещена, а дочерние отрываться и работать.:) Надеюсь понятно объяснила.. |
Jolly,
может код? а так выбрать подменю, выбрать ссылку, поставить event.preventDefault(); и всё |
<head>
<meta charset="utf-8">
</head>
<body>
<ul>
<li><a href="http://google.com">google</a></li>
<li><a href="http://google.com">google</a></li>
<ul>
<li><a href="http://google.com">google</a></li>
</ul>
<li><a href="http://google.com">google</a></li>
<li><a href="http://google.com">google</a></li>
</ul>
<script>
document.querySelectorAll("ul > ul > li > a")[0].onclick = function(){
event.preventDefault();
};
</script>
</body>
выбирите нужный селектор вот вам пример! |
|
Цитата:
|
Цитата:
Наверное я не правильно объяснила(.. В вашем примере, мне нужно чтобы все ссылки открывались, кроме "не должна работать". |
Я работаю с Друпал, там наверное по-другому не уберешь(.
|
Спасибо за помощь, я написала в ответе код, посмотрите пожалуйста.
|
Цитата:
|
Цитата:
<head>
<meta charset="utf-8">
</head>
<body>
<ul>
<li><a href="http://google.com">google</a></li>
<li><a href="http://google.com">не должна работь</a>
<ul>
<li><a href="http://google.com">google</a></li>
</ul>
</li>
<li><a href="http://google.com">google</a></li>
<li><a href="http://google.com">не должна работь</a>
<ul>
<li><a href="http://google.com">google</a></li>
</ul>
</li>
<li><a href="http://google.com">google</a></li>
</ul>
<script>
var el = document.querySelectorAll("li:nth-child(2n+2) > a");
for (var i=0; i<el.length; i++) {
el[i].onclick = function(){
event.preventDefault();
}
};
</script>
</body>
Вот селектор для данного примера Если у вас по другому сформировано все это не сработает! |
j0hnik,
не нужно всей этой белиберды. Читать нужно в руководстве CMS о создании меню, оно готовится без проблем и костылей на клиенте. |
Спасибо за совет, но как тогда с мобильной версией? Там будет сразу нажатие(.
|
Цитата:
У данной CMS есть форум, где тусуются те, кто следят за ней от первых до последних ее версий. С какими-то неразрешимыми проблемами можете обратиться на этот форум. |
Цитата:
Спасибо, то что нужно), только как применить это к такому коду?:-?
<ul>
<li class="ded"><span class="google"><a href="http://google.com" class="active">Не должна работать</a></span>
<ul class="menu" style="display: none; visibility: hidden;">
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
</ul>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Должна работать</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Не должна работать</a></span>
<ul class="menu" style="display: none; visibility: hidden;">
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
</ul>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Не должна работать</a></span>
<ul class="menu" style="display: none; visibility: hidden;">
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
</ul>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Должна работать</a></span>
</li>
</ul>
|
j0hnik,
Посмотрите пожалуйста. |
Цитата:
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style>
</style>
</head>
<body>
<ul>
<li class="ded"><span class="google"><a href="http://google.com" class="active">Не должна работать</a></span>
<ul class="menu" style="display: none; visibility: hidden;">
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
</ul>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Должна работать</a></span>
</li>
<li class="ded">
<span class="google"><a href="http://google.com">Не должна работать</a></span>
<ul class="menu" style="display: none; visibility: hidden;">
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
</ul>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Не должна работать</a></span>
<ul class="menu" style="display: none; visibility: hidden;">
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Google</a></span>
</li>
</ul>
</li>
<li class="ded"><span class="google"><a href="http://google.com">Должна работать</a></span>
</li>
</ul>
<script>
var el = document.querySelectorAll("ul>li");
for (var i=0; i<el.length; i++) {
if (el[i].querySelector("ul") !== null){
el[i].querySelector("span>a").onclick = function(){
event.preventDefault();
}
}
};
</script>
</body>
</html>
Надеюсь больше ничего нового не придумаете! :-E |
| Часовой пояс GMT +3, время: 02:19. |