Как правильно применить e.preventDefault?

273
12 декабря 2016, 10:10

Как применить e.preventDefault(); только для того li, у которого есть вложенный ul?

Вот пример на jsFiddle

Answer 1
jQuery(function($) {    
    var parentLi = $('.left_menu > li'), insertUl = $('.left_menu > li > ul');
    $('.sub-menu').prevUntil('li')
    .css("background-color", "red")
    parentLi.click(function(e) {
        // кликнули по ссылке, являющейся непосредственным потомком parentLi
        is_clicked_first_level_link = $(e.target).closest('li').is($(this));
        // кликнули по parentLi, у которого есть вложенное .sub-menu
        has_sub_menu = $(this).has('ul').length;
        if (has_sub_menu && is_clicked_first_level_link) {
            e.preventDefault();
            $(this).find(insertUl).slideToggle();
        }
    });
});

Посмотреть ваш обновленный пример

READ ALSO
Суммирование строчек

Суммирование строчек

Демо: https://jsfiddlenet/Room13/fk3ykcw4/1/

220
Помогите настроить и подключить sortable.js

Помогите настроить и подключить sortable.js

Здравствуйте, у меня очень простой вопрос: подскажите пожалуйста как правильно настроить и подключить sortablejs, используя jQuery

235
Обернуть Javascript в Jquery

Обернуть Javascript в Jquery

Помогите завернуть это в $("body")on, т

189