@das_pupkin

Ссылка внутри «аккордеона» не работает, как исправить?

Суть в следующем, есть код аккордеона
(function($) {

    $('.accordion a').click(function(j) {
        var dropDown = $(this).closest('li').find('div');

        $(this).closest('.accordion').find('div');

        if ($(this).hasClass('active')) {
            $(this).removeClass('active');
        } else {
            $(this).closest('.accordion').find('a.active').removeClass('active');
            $(this).addClass('active');
        }

        dropDown.stop(false, true).slideToggle();

        j.preventDefault();
    });
})(jQuery);

при этом все ссылки внутри аккордеона не работают.
То есть происходит складывание/раскладывание аккордеона и все.
Понимаю, что нужно использовать preventDefault(), но не понимаю где.
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
RAX7
@RAX7
Так у тебя обработчик повешен на все кнопки внутри аккордеона $('.accordion a'), а должен только на кнопки отвечающие за складывание/раскладывание. А еще лучше не делать контролы ссылками, а сделать их кнопками button, тогда и preventDefault() не понадобится.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@das_pupkin Автор вопроса
Но если html аккордеона выглядит так:
<ul class="accordion">
<li><a>HEADER OF ACCORDION MENU 1</a>
<div>CONTENT</div></li>
<li><a>HEADER OF ACCORDION MENU 2</a>
<div>CONTENT</div></li>
</ul>

то к чему еще привязываться?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Admitad Projects Москва
от 170 000 до 240 000 ₽
Fundraise Up Санкт-Петербург
от 2 500 до 3 500 $
03 июн. 2020, в 13:01
1500 руб./за проект
03 июн. 2020, в 12:56
15000 руб./за проект
03 июн. 2020, в 12:37
500 руб./за проект