Задать вопрос
@Grione

Как правильно разделить выполнение JS кода на мобилках и десктопах?

Довольно простой вопрос.
Есть меню на сайте и код JS который с ним взаимодействует. Если десктоп то мы навешиваем событие mouseover, а если мобилки то click. Но требуется так же учитывать resize окна браузера.

Сейчас у меня это выглядит примерно вот так:

const openSub = document.querySelector('.menu-item-has-children');
if (window.innerWidth > 992) { 
openSub.addEventListener('mouseover', () => {
				openSub.classList.contains('is-hover') 
				});
} else {
openSub.addEventListener('click', () => {
				openSub.classList.contains('is-open') 
				});
}

window.addEventListener('resize', () => { 
if (window.innerWidth > 992) { 
openSub.addEventListener('mouseover', () => {
				openSub.classList.contains('is-hover') 
				});
} else {
openSub.addEventListener('click', () => {
				openSub.classList.contains('is-open') 
				});
}
}


Я код очень упростил, но думаю суть понятно. И вот такое решение оно некорректное, т.к. если мы ресайзим, то в любом случае у нас не отменяется первое условие.
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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