Задать вопрос
OldSchool1705
@OldSchool1705
I want to become a programmer

Почему не работает js в мобильной версии?

На десктопе работает по клику меню, а вот только убираю в мобилку - сразу перестаёт работать, даже не навешивается класс.
document.addEventListener("DOMContentLoaded",
    function() {
        document.getElementById('dropdown').onclick = function() {
            var el = document.getElementById('dropdownNav');
            el.style.display === 'none' ? el.style.display = 'block' : el.style.display = 'none';
        }
    });


a(href="index.html")
    img(src="../assets/img/logo.svg", alt="logo")
+menu_item('index.html', 'Главная', 'c1 ')
+menu_item('windowspvh.html', 'Окна ПВХ', 'c1 ')
//- +menu_item('/index.html#about', 'Услуги', 'c1 ')
li.dropdown#dropdown
    a(href="#d").c1.local.menuDropdavn Услуги
    ul.dropdown-nav#dropdownNav
        li
            a(href="windowspvh.html") Окна ПВХ
        li
            a(href="glazing.html") Остекление балконов
        li
            a(href="calc.html") Отделка балконов 
        li
            a(href="arbor.html") Остекление беседок и террас
        li
            a(href="furnishings.html") Мебель для балконов
+menu_item('#act', 'Акции', 'c1 ')
//- +menu_item('#team', 'Наши специалисты', 'c1 local')
+menu_item('/index.html#reviews', 'Отзывы', 'c1 ')
+menu_item('#contacts', 'Контакты', 'c1 local')
a(href="##")
    img(src="../assets/img/inst.svg", alt="inst")
+mainButtonHed('Заказать звонок', 'Записаться на прием')


#dropdownNav
    display: none
  • Вопрос задан
  • 913 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
@dennis_d
One Love, One Front-End
Вероятнее всего, проблема заключается в том, что событие onclick не обрабатывается на touchscreen. Попробуй код ниже, по идее должно работать
document.addEventListener("DOMContentLoaded", () => {
        const menu = document.getElementById('dropdown')
        menu.addEventListener('click', () => {
            const el = document.getElementById('dropdownNav');
            el.style.display === 'none' ? el.style.display = 'block' : el.style.display = 'none';
        })
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
А если отладку на телефоне провести?
Ответ написан
Ваш ответ на вопрос

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

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