2017-01-23 1 views
0

Как остановить родительский UL от закрытия при нажатии на LI-файла? Например, если вы нажмете на make1, дочерний UL откроется. Затем, если вы нажмете на 1 model1, откроется дочерний UL, но родительский UL закроется. Если вы дадите ссылку на скрипку, чтобы увидеть сломанный код ниже.jQuery slideToggle продолжает закрывать родительский UL при нажатии дочернего LI

jQuery(document).ready(function ($) { 
    $('li.menu-item-type-custom').on('click', function() { 

     $(this).children('ul.sub-menu').slideToggle(); 
    }); 
}); 

Sample broken code

ответ

2

Yoy просто нужно остановить событие кипящий на родительский элемент, который находится под тем же событием. Попробуйте stopPropogation() так:

jQuery(document).ready(function($) { 
    $('li.menu-item-type-custom').on('click', function(e) { 
    e.stopPropagation(); 

    $(this).children('ul.sub-menu').slideToggle(); 
    }); 
}); 

https://jsfiddle.net/j331o3wy/