Используя слайд-переключатель в многоуровневом списке, уровень 2 будет действовать так, как если бы уровень 1 был нажат

Я пытаюсь сделать многоуровневую навигацию, используя списки, но когда я переключаю первый уровень и нажимаю второй, чтобы открыть третий уровень, второй уровень переключается. Интересно, было ли это исправить?

Мой код до сих пор:

 $(document).ready(function(){
    $(".listSchool").click(function(){
    $(this).children("ul").children().slideToggle();
});

$(".listClass").click(function(){
    $(this).children("ul").children().slideToggle();
});
});

1 ответ

Решение

Вы хотите остановить всплывающее событие.

В основном, когда вы щелкаете по внутреннему элементу, родительский элемент также щелкается. Если у этого родителя есть событие, связанное с кликами, оно срабатывает.

С помощью event.stopPropagation(); должен предотвратить это.

ht tp://api.jquery.com/event.stopPropagation/

$(document).ready(function(){
   $(".listSchool, .listClass").click(function(event){
     event.stopPropagation();
     $(this).children("ul").slideToggle();
   });
});
Другие вопросы по тегам