Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запретить обход DOM

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Вложенные элементы..
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2011 - 08:40:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Есть обычные вложенные списки ul li.
CODE (javascript):
скопировать код в буфер обмена
  1. $("#leftmenu li").click(function(){
  2.   $(this).find("ul").eq(0).toggle();
  3.   });

В таком виде тогглиться все что выше по дереву.
Есть ли какой метод в jquery запрещающий идти вверх по DOM и обрабатывать клик на родителе???
 
 Top
EuGen Администратор
Отправлено: 24 Ноября, 2011 - 08:45:09
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




http://api[dot]jquery[dot]com/children/

- быть может, это имелось ввиду? Тогда не нужно будет проверять - заранее будут только дочерные элементы.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
SAD
Отправлено: 24 Ноября, 2011 - 08:50:50
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




stopPropagation ? o_O
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2011 - 09:36:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




EuGen пишет:
Тогда не нужно будет проверять
В моем случае какраз проверять придется...
 
 Top
tuareg
Отправлено: 24 Ноября, 2011 - 10:42:39
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Если еще не решил. Выложи html разметку(можно простенькую) и что конкретно надо
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2011 - 12:14:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ветвления любые, вложенность любая...
Надо чтобы при клике на вложенный пункт (именно элемент li) событие не развинчивалось по DOM'у вверх. Как сделать по a понятно, но нужно сделать по li. Можно конечно обернуть все в "кликодив", если ничего не выйдет, так и сделаю, просто хотелось сделать без лишней разметки.
Спойлер (Отобразить)
 
 Top
CenapaTop
Отправлено: 24 Ноября, 2011 - 12:31:15
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




http://docs[dot]jquery[dot]com/Types/Eve[dot][dot][dot]ropagation[dot]28[dot]29
event.stopPropagation() ?

(Отредактировано автором: 24 Ноября, 2011 - 12:33:04)

 
 Top
tuareg
Отправлено: 24 Ноября, 2011 - 12:33:27
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#leftmenu').on('click','li',null,function(event){
  3.         event.stopPropagation();
  4.         console.log($(this));
  5.  
  6. });
  7.  

Это для >1.7, <1.7 delegate
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2011 - 13:08:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. $("#leftmenu").delegate("li","click",function(){
  2.   $(this).find("ul").eq(0).toggle();
  3.   });

каждый написал по своему, но ни один вариант не заработал как надо.
В общем сработал симбиоз который я разместил выше...
tuareg ближе всех был, плюсую. Закатив глазки
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2011 - 13:17:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Вот так оно выглядит:
Прикреплено изображение (Нажмите для увеличения)
m.jpg
 
 Top
tuareg
Отправлено: 24 Ноября, 2011 - 14:55:19
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Конечно за плюс спасибо. Только что-то я не понял, почему не сработал мой вариант.
Я не случайно просил разметку этот код работал на этой разметке.
Ну да ладно Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB