Задать вопрос
@ComPUCKter
Web-разработчик

Как остановить выполнение события на jquery?

Мне нужно чтобы при удержании кнопки работало некое событие, а когда кнопка отпускается, выполнение прекращалось.
Вот мой код :

$('.block').on('mousedown', function(pos) {

	$(this).mousemove(function (pos2) {
		$('.block').on('mouseup', function (mouseup) {
			//здесь должен быть код, прекращающий работу pos и pos2 соответственно
		});

		$('.block-x').html(pos2.pageX);
		$('.block-y').html(pos2.pageY);

		let start_x = pos.pageX;
		let start_y = pos.pageY;

		let finish_x = pos2.pageX;
		let finish_y = pos2.pageY;


		if (finish_x != start_x || finish_y != start_y) {
			let x = 0;
			let y = 0;

			if (finish_x > start_x) {
				x = -1;
			} else if (finish_x < start_x) {
				x = 1;
			}

			if (finish_y > start_y) {
				y = -1;
			} else if (finish_y < start_y) {
				y = 1;
			}

			window.scrollBy(x, y);
		}
	});
});
  • Вопрос задан
  • 140 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
v3shin
@v3shin
Веб-шаман
Как-то так.
let mouseIsDown, block;
block.on('mousemove', function () {
    if (mouseIsDown) {
        // что-то делать
    }
}).on('mousedown', function () {
    mouseIsDown = true;
}).on('mouseup', function () {
    mouseIsDown = false;
});
Ответ написан
Ваш ответ на вопрос

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

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