nastya_zholudeva
@nastya_zholudeva

Почему не срабатывает событие @click?

Событие select_list_currentClick(e) должно переключать класс `open` для того, чтобы появлялся селект как справа на скрине
59e9acf7922f6613359284.png
Но оно почему-то срабатывает очень редко, приходится несколько раз перезагружать страницу, хотя мое приложение вообще без перезагрузки должно работать... Такие селекты у меня на каждой странице, поэтому даже если при перезагрузке удалось на первой страницы навешать класс и селект сработал, то при переходе на другую страницу уже ничего не работает. Хотя он у меня подключен одним компонентом к обоим этим страницам

Верстка
<div class="selected_relative">
                    <div class="select_list_wrapper">
                        <div class="select_list_current" @click="select_list_currentClick($event)">
                            <span class="label">Сортировать:</span>
                            <span class="select_list_current_item">По популярности</span>
                        </div>
                        <div class="select_list">
                            <div class="select_list_radio"><input type="radio" id="by_popular" name="sort_list" checked><label for="by_popular"><span>По популярности</span> </label></div>
                            <div class="select_list_radio"><input type="radio" id="by_price" name="sort_list"><label for="by_price"><span>По цене</span> </label></div>
                            <div class="select_list_radio"><input type="radio" id="by_date" name="sort_list"><label for="by_date"><span>По новизне</span> </label></div>
                        </div>
                    </div>
                </div>


событие
select_list_currentClick(e) {
                    var $this = $(e.target);
                    if(this.$route.name !== 'fhgkgkjg') {
                        $this.parent('.select_list_wrapper').toggleClass('open');
                        $this.parent().find('.select_list').slideDown("slow");
                    }

            },


P. S. эту абракадабру this.$route.name !== 'fhgkgkjg' прилепила в надежде, что это заставит код при изменении маршрута навешивать класс:(
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
HighQuality
@HighQuality
☁ Ниндзя девелопер
Почему бы не отказаться от jQuery ? Vue предлагает клёвое, реактивное решение.

Вот простой пример.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы