@Fqwd123

Событие по клику на сенсорный экран?

Как сейчас реализовано: нажимаем в меню пункт, переходим на него, и на странице этого пункта, в меню он подсвечивается( к нему добавляется класс active) .
Мне нужно сделать что бы по клику на пункт меню и в процессе перехода по ссылке, этот пункт выделялся(менялся background), а тот пункт меню на котором мы сейчас находились наоборот затухал.
Надеюсь не запутал, как это реализовать? Просто подсвечивать по клику конечно можно через active/focus в css, но что бы убрать у другого пункта класс active нужно уже js. Событие click не подходит так как это мобилки, пробовал вот так
$('.menu li').bind('touchstart click', function(){
        $(this).css('background', 'var(--red) !important');
        $('.menu li active').removeClass('active');
    });

Но почему то не работает, на какое событие вешать?
П.С. Пример с jquery, но это совсем не принципиально
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Fqwd123 Автор вопроса
document.querySelectorAll('.menu li').forEach(
    (item)=>{
        item.addEventListener('touchstart', (event)=> {
            document.querySelector('.menu-item.active').classList.remove("active");
        }, false);

    }
);

Вот как заработало, одно НО, на айфонах почему то не работает. При клике цвет просто становиться тусклым
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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