Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2013, 00:06
Аспирант
Отправить личное сообщение для Evgeny_Dedov Посмотреть профиль Найти все сообщения от Evgeny_Dedov
 
Регистрация: 14.07.2013
Сообщений: 32

События клик. Почему так происходит.
Здравствуйте.
Есть такая структура:
<ul class="vmenu">
  <li class="parent"><a href="#">Главная Категория</a></li>
      		<ul class="dropdown">
				 <li><a href="#"><span>Сотрудники</span></a></li>
			</ul>  
  </li>
  <li class="parent"><a href="#"><span>Главная Категория</span></a>
      <ul class="dropdown">
		  <li><a href="#"><span>Фото</span></a></li>  
	  </ul>
  </li>
</ul>

Нужно на главные категории повесить "Клик" и отменить действие по ссылке по умолчанию, по остальным оставить переход по адресу, Делаю так:
$(".parent A:first-child").bind('click',function(e){
	 e.preventDefault(e);
		var _this = $(this);
		 if(_this.next().css('display') == 'none') _this.next().slideDown('fast');
			 else _this.next().slideUp('fast');
		 _this.toggleClass('selected',5);
	 })


По главным всё нормально отрабатывает и отменяет переход.
А вот почему то по вложенным в класс "dropdown" ссылкам переход тоже отменяется, почему так? Ведь я выбираю и вешаю клик только на первые элементы класса ".parent".

Последний раз редактировалось Evgeny_Dedov, 03.11.2013 в 00:26.
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2013, 11:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Evgeny_Dedov
А вот почему то по вложенным в класс "dropdown" ссылкам переход тоже отменяется, почему так? Ведь я выбираю и вешаю клик только на первые элементы класса ".parent".
Это только ты так думаешь...
А на самом деле селектор

.parent A:first-child


выбирает все вложеные в .parent "первые" ссылки...
Т.ч. меняй селектор.

.parent > A:first-child
Ответить с цитированием
  #3 (permalink)  
Старый 03.11.2013, 11:49
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Для данной структуры достаточно
.parent > a
Ответить с цитированием
  #4 (permalink)  
Старый 03.11.2013, 12:17
Аватар для Dozentos
Аспирант
Отправить личное сообщение для Dozentos Посмотреть профиль Найти все сообщения от Dozentos
 
Регистрация: 08.10.2013
Сообщений: 47

И bind советую поменять на on
С версии, если не ошибаюсь 1.7 bind и live считаются устаревшими, хотя пока поддерживаются.
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2013, 01:34
Аспирант
Отправить личное сообщение для Evgeny_Dedov Посмотреть профиль Найти все сообщения от Evgeny_Dedov
 
Регистрация: 14.07.2013
Сообщений: 32

Сообщение от BETEPAH
.parent > a
Спасибо за советы, всем. Удачи!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему так происходит. demoniqus Общие вопросы Javascript 1 27.03.2011 16:28
Профайлинг. jquery.clean() и jquery.after() - почему так долго? bmziskin jQuery 4 23.11.2010 15:18
Почему так получается? lukingnu jQuery 0 31.07.2010 15:50
Спойлер зависает после первого же закрытия. Почему так происходит? niXmale82 Элементы интерфейса 0 21.05.2010 18:38
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47