Изначально когда захожу на сайт 1 блок уже загружен, со всеми категорями, далее при клике происходит подгрузка и добавление блоков. Суть в том что если есть подгруппы у группы на какую я кликнул, то рядом добавляется идентичный блок с содержанием подгрупп.
структура блоков такая
Однако у вновь добавленных блоков условие клика не работает(хотя по структуре оно подходит под условие клика...), происходит просто редирект по хрефу, мне этого не надо, надо что бы дальше осуществлялся поиск подкатегорий, если ух нет тогда уже совершать редирект, помогите понять что не так.
IllusionMH
Отправлено: 11 Июня, 2014 - 14:52:20
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
difight, случайно не работает на ссылках в новых элементах li?
этот код ничем не лучше прямого навешивания событий на ссылки. повесится столько обработчиков, сколько и элементо li.
нужно вешать либо на .shop_list (если перезаписывается только его содержимое, но не он сам) либо на элемент, который максимально близко к ним, и никогда сам не перезаписывается.
difight
Отправлено: 11 Июня, 2014 - 14:57:35
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
IllusionMH пишет:
difight, случайно не работает на ссылках в новых элементах li?
этот код ничем не лучше прямого навешивания событий на ссылки. повесится столько обработчиков, сколько и элементо li.
нужно вешать либо на .shop_list (если перезаписывается только его содержимое, но не он сам) либо на элемент, который максимально близко к ним, и никогда сам не перезаписывается.
Именно так и не работает, только почему? Мне и нужно обрабатывается событие по клику на ссылке, сейчас повесил событие по клику на li результат тот же. Может вы не совсем так поняли, .shop_list у меня не перезаписывается, изначально когда я открываю сайт один блок .shop_list у меня уже есть, при клике в нем на любой li a подгружаются категории килкнутой ссылки и рядом создается такой же блок .shop_list с такой же структурой как и первый их становиться уже два, но во 2ром собития по клику на ссылки уже не работают
IllusionMH
Отправлено: 11 Июня, 2014 - 15:28:31
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
difight, логично. Элемент то создается после того как прошло навешивание событий(события вешаются на все элементы удовлетворяющие селектору, а потмо просто фильтруются по второму параметру функции on), значит нужно вешать событие
IllusionMH пишет:
на элемент, который максимально близко к ним, и никогда сам не перезаписывается.
т.е. div.block или выше по дереву.
difight
Отправлено: 11 Июня, 2014 - 16:46:30
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
IllusionMH пишет:
difight, логично. Элемент то создается после того как прошло навешивание событий(события вешаются на все элементы удовлетворяющие селектору, а потмо просто фильтруются по второму параметру функции on), значит нужно вешать событие
Вынес обрабочик в функцию и у ссылок на onclick повесил вызов функции, теперь работает, подскажите еще момент, как можно определить в каком из блоков div.block была нажата ссылка. Т.е. нажал я например в первом диве по ссылке, получил позицию блока 1 или 2 например. В зависимости от того какую позицию он занимает....
IllusionMH
Отправлено: 11 Июня, 2014 - 16:54:46
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
difight, искать родителя источника события подходящего под описаине, а потом проверять позицию через .index() либо другой параметр
difight
Отправлено: 11 Июня, 2014 - 16:59:51
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
IllusionMH пишет:
difight, искать родителя источника события подходящего под описаине, а потом проверять позицию через .index() либо другой параметр
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.