nastya97core
@nastya97core
Начинающий программист

Как правильно ловить нажатие и перемещение мыши?

Здравствуйте. Вот такое я сделала:
var startX = 0;
var mouse;

$('.container').on('touchstart mousedown', function (e) {
	mouse = "down";
	console.log("коснулись");
	startX = e.clientX;
	console.log(startX);


	if (mouse == "down") {
	$('.container').on('touchmove mousemove', function (e) {
		console.log("при движении",e.clientX)
	})
	} else {
		console.log("не нажато")
	}


	$('.container').on('touchend mouseup', function (e) {
		console.log("отпустили");
		mouse = "up";
		return;
	})
})


Я думала остановить return'ом функцию, но я останавливаю только touchend, а мне нужно остановить всю функцию, потому что даже когда я отпускаю мышь - у меня всё равно в логах пишет положение мыши. Подскажите, как правильно организовать это?
К чему я стремилась:
мне нужно, чтобы при нажатии на экран я получала текущее положение мыши и при перемещении с зажатой клавишей я получала новые значения. Потом я буду просто считать: на какое расстояние пользователь перетащил. Как только пользователь отпускает: функция останавливается.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AndrewRusinas
Нужно завести переменную isMouseDown, чтобы проверять, что мышь зажата. Если нет, выходить из обработчика mousemove
Ответ написан
Seasle
@Seasle Куратор тега JavaScript
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы