Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Отменить preventDefault() у потомка (https://javascript.ru/forum/jquery/54588-otmenit-preventdefault-u-potomka.html)

alexmixaylov 23.03.2015 21:21

Отменить preventDefault() у потомка
 
Есть двухуровневое меню
виден только первый уровень. подпункты скрыты
При клике на элемент первого уровня, раскрывается список и видны элементы второго уровня
Чтоб не было перехода по ссылке(первого уровня) использую preventDefault()
ПРОБЛЕМА в том что отменяется событие у потомков тоже

Как отменить можно preventDefault() для элементов второго уровня???
$('.strani-tab > ul > li').click(function (a) {
            a.preventDefault();
            $('.strani-tab > ul > li >ul > li').hide();
            $(this).children().children().css({'display': 'list-item'});
            //здесь пытаюсь отменить
            if ($('.strani-tab > ul > li >ul > li').is(':visible')) {
                console.log(this);
                $(this).preventAction = false;
            }
        });
пробовал по разному но ничего не получается, такой вариант как в коде выше, тоже не работает

рони 23.03.2015 21:30

alexmixaylov,
http://javascript.ru/forum/project/3...na-jquery.html

alexmixaylov 24.03.2015 20:49

Спасибо, немного не то
решил вопрос по другом
у ссылки первого уровня тег A поменял на SPAN
все решилось, первый уровень просто открывает подуровень
и те ссылки тоже норм работают
$(".strani-tab > ul > li > a").replaceWith(function (index, oldHTML) {
                return $("<span>").html(oldHTML);
            });
Костыль конечно. но работает

рони 24.03.2015 21:49

alexmixaylov,
минимальную структуру меню покажите?


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