Я пытаюсь создать двойную боковую панель с открытым окном. Каждый li на боковой панели может иметь список, который может иметь собственный список. Пример:Остановить распространение не работает - ul> li> ul> li - jQuery
<div class="list-panel">
<ul>
<li class="category">
<a href="/inphos/">
<i class="glyphicon glyphicon-home"></i>
<span class="nav-label">Dashboard</span>
</a>
</li>
<li class="category">
<a href="#">
<i class="glyphicon glyphicon-pencil"></i>
<span class="nav-label">Administratie</span>
</a>
<ul>
<li class="group">
<a href="#">Abonnementen</a>
<ul>
<li>
<a href="#">Abo-Orders</a>
</li>
<li>
<a href="#">VoIPGrid</a>
</li>
<li>
<a href="#">RoutIT</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
Верхний ли имеет класс «категория». Когда я нажимаю на 1 уровень ниже, класс «группа», я не хочу скользить всю «категорию» вверх, но открываю список ниже «группа» или перенаправляю пользователя.
Я пытаюсь сделать это с помощью следующих действий:
$('.group').on('click', function(){
console.log('group');
}).on('click','ul>li',function(e){
e.stopPropagation();
}).on('click','category',function(e){
e.stopPropagation();
});
$('.category').on('click',function(){
console.log('category');
if($(this).hasClass('active')){
$(this).children('ul').slideUp(200);
$(this).removeClass('active');
} else {
$(this).children('ul').slideDown(200);
$(this).addClass('active');
}
});
По какой-то причине эта часть jQuerycode не работает должным образом, какие-либо идеи, почему?
jsFiddle здесь: http://jsfiddle.net/abayob/bo4bkfzq/
Благодарим за объяснение, теперь я понимаю больше, как это работает! – Abayob