Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Перехват родительского события (https://javascript.ru/forum/jquery/21503-perekhvat-roditelskogo-sobytiya.html)

bobr13 12.09.2011 20:54

Перехват родительского события
 
Добрый день, наверное мой вопрос покажется глупым, но достойного ответа в интернете я ненашел (мб искал поверхностно).
Есть скрипт :
Код:

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>

Проблема:
Как сделать, чтобы при нажатии на ссылку, расположенную в диве, сам див не закрывался. Скорее всего для этого надо перехватить событие клика для родителя, но как?
Заранее благодарен, очень надеюсь на помощь.

melky 12.09.2011 22:25

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


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

$("li > div a").click(false);

bobr13 13.09.2011 01:40

Спасибо большое, уже решил проблему такой строчкой
Код:

if (jQuery(event.target).is('a')) jQuery('sender').returnValue = false;

Триви 13.09.2011 02:18

Цитата:

Сообщение от bobr13 (Сообщение 126213)
Спасибо большое, уже решил проблему такой строчкой
Код:

if (jQuery(event.target).is('a')) jQuery('sender').returnValue = false;

А в Firefox работает?
$("a").click(function(event){
  event.stopPropagation();
});


Часовой пояс GMT +3, время: 22:30.