Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2011, 20:54
Новичок на форуме
Отправить личное сообщение для bobr13 Посмотреть профиль Найти все сообщения от bobr13
 
Регистрация: 12.09.2011
Сообщений: 2

Перехват родительского события
Добрый день, наверное мой вопрос покажется глупым, но достойного ответа в интернете я ненашел (мб искал поверхностно).
Есть скрипт :
Код:
function deployElement(sender){
	var myul 	= jQuery(sender).children('div');
	var myspan 	= jQuery(sender).children('span');
	if (myul.is(':hidden')) {
           myul.slideDown('200');
           myspan.html('-'); } 
   	else {
           myul.slideUp('200');          
	   myspan.html('+');
	}
}
Который вызывается:
Код:
<li onclick="deployElement(this);">
<span>+</span> 
<div>
</div>
</li>
Проблема:
Как сделать, чтобы при нажатии на ссылку, расположенную в диве, сам див не закрывался. Скорее всего для этого надо перехватить событие клика для родителя, но как?
Заранее благодарен, очень надеюсь на помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2011, 22:25
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

или убрать всплытие у ссылок
$("li > div a").click(function(e){e.preventDefault()});


в новых версиях JQ это можно сделать и так

$("li > div a").click(false);
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2011, 01:40
Новичок на форуме
Отправить личное сообщение для bobr13 Посмотреть профиль Найти все сообщения от bobr13
 
Регистрация: 12.09.2011
Сообщений: 2

Спасибо большое, уже решил проблему такой строчкой
Код:
if (jQuery(event.target).is('a')) jQuery('sender').returnValue = false;
Ответить с цитированием
  #4 (permalink)  
Старый 13.09.2011, 02:18
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Сообщение от bobr13 Посмотреть сообщение
Спасибо большое, уже решил проблему такой строчкой
Код:
if (jQuery(event.target).is('a')) jQuery('sender').returnValue = false;
А в Firefox работает?
$("a").click(function(event){
  event.stopPropagation();
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров в колбэки и дальнейшее их вешанье на события. Gremlin Общие вопросы Javascript 17 13.08.2011 08:54
Перехват события voice8787 Events/DOM/Window 1 07.03.2011 21:30
События Jquery и не только Tohin Events/DOM/Window 3 21.08.2009 14:57
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47
Явный вызов процедуры обработки события. supchik Общие вопросы Javascript 18 27.01.2009 13:16