Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.06.2017, 21:50
Аспирант
Отправить личное сообщение для Jolly Посмотреть профиль Найти все сообщения от Jolly
 
Регистрация: 11.03.2017
Сообщений: 40

Запретить ссылку если есть подменю.
Здравствуйте.

Подскажите пожалуйста, как запретить ссылку в главном меню, если у него есть подменю? Как запретить вообще знаю, но в главном меню есть вкладки у которых нет подменю и они должны работать, а у тех которых есть подменю, ссылка должна быть запрещена, а дочерние отрываться и работать. Надеюсь понятно объяснила..
Ответить с цитированием
  #2 (permalink)  
Старый 05.06.2017, 22:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Jolly,
может код? а так выбрать подменю, выбрать ссылку, поставить event.preventDefault(); и всё
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2017, 22:03
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<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>

выбирите нужный селектор
вот вам пример!
Ответить с цитированием
  #4 (permalink)  
Старый 05.06.2017, 22:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Jolly,
как вариант ...
Выпадающее меню на jquery
Ответить с цитированием
  #5 (permalink)  
Старый 06.06.2017, 04:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Jolly
как запретить ссылку в главном меню, если у него есть подменю?
А зачем же вы формируете ссылку у элемента, которому она не нужна?
Ответить с цитированием
  #6 (permalink)  
Старый 06.06.2017, 16:04
Аспирант
Отправить личное сообщение для Jolly Посмотреть профиль Найти все сообщения от Jolly
 
Регистрация: 11.03.2017
Сообщений: 40

Сообщение от j0hnik Посмотреть сообщение
<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>
document.querySelectorAll("ul > ul > li > a")[0].onclick = function(){
  event.preventDefault();
};
</script>
</body>

выбирите нужный селектор
вот вам пример!
Спасибо за ответ.
Наверное я не правильно объяснила(.. В вашем примере, мне нужно чтобы все ссылки открывались, кроме "не должна работать".
Ответить с цитированием
  #7 (permalink)  
Старый 06.06.2017, 16:05
Аспирант
Отправить личное сообщение для Jolly Посмотреть профиль Найти все сообщения от Jolly
 
Регистрация: 11.03.2017
Сообщений: 40

Я работаю с Друпал, там наверное по-другому не уберешь(.
Ответить с цитированием
  #8 (permalink)  
Старый 06.06.2017, 16:06
Аспирант
Отправить личное сообщение для Jolly Посмотреть профиль Найти все сообщения от Jolly
 
Регистрация: 11.03.2017
Сообщений: 40

Спасибо за помощь, я написала в ответе код, посмотрите пожалуйста.
Ответить с цитированием
  #9 (permalink)  
Старый 06.06.2017, 16:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Jolly
Я работаю с Друпал, там наверное по-другому не уберешь(
Это почему? Код меню формирует сервер, проверить, что есть подменю не сложно, а значит и не добавлять ссылку. Вот только подменю, это например подкатегории, а родитель сама категория. То есть вы фактически лишаете пользователя перехода на категорию. Умнее бы было раскрывать подменю по наведению, а щелчок это переходы.
Ответить с цитированием
  #10 (permalink)  
Старый 06.06.2017, 16:57
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от Jolly Посмотреть сообщение
Спасибо за ответ.
Наверное я не правильно объяснила(.. В вашем примере, мне нужно чтобы все ссылки открывались, кроме "не должна работать".
<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>

Вот селектор для данного примера

Если у вас по другому сформировано все это не сработает!
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
не работает функц. календаря если в имение есть [] kotjke Я не знаю javascript 2 04.06.2009 11:43
Как проверить ссылку на работоспособнось? Oleg_777 Общие вопросы Javascript 23 19.03.2009 18:57
Проблема onmouseout если есть вложенные теги... AlexPa Общие вопросы Javascript 5 27.01.2009 19:59
активное textarea если есть галочка в radio ydv Events/DOM/Window 1 25.09.2008 16:24