Задать вопрос
@vitaliy-m

Как отменить mousemove и использовать вертикальный scroll страницы по умолчанию?

Проблема в следующем: есть некий блок, на который прикреплено событие mousemove (touchmove для мобильных устройств), необходимо только горизонтальное перемещение.

Вопрос - как остановить обработку mousemove при попытке вертикального пролистывания? То есть оставить обработку горизонтального перемещения по событию mousemove / touchmove (в большей степени конечно относится к touchmove), но при попытке вертикального перемещения листать всю страницу.

Примерный код смотрите тут:
jsfiddle.net/TwP4D/8
  • Вопрос задан
  • 2871 просмотр
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@vitaliy-m Автор вопроса
Решил задачу:

все дело было в том что в обработчике событий "mousedown / touchstart " оставил return false, что он делает думаю всем известно) и поэтому не работало действие по умолчанию если выполняется часть кода которая отвечает за перемещение по Y.

Решение:
1) Из "mousedown / touchstart" убрать return false;
2) Перед началом выполнения кода, который отвечает за перемещение по X написать:
e.preventDefault();
e.stopImmediatePropagation();
e.cancelBubble = true;
или в конце return false
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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