Выпуск событий jQuery - PullRequest
       31

Выпуск событий jQuery

1 голос
/ 20 августа 2009

Я относительно новичок в jQuery, поэтому я прошу прощения, если задаю элементарный вопрос, но у меня есть проблема с запуском событий. Прямо сейчас я пытаюсь создать своего рода инструмент панорамирования изображения, где пользователь может панорамировать изображение в любом направлении в пределах окна просмотра (фиксированный div). При нажатии мыши функция начнет выполнять несколько расчетов, а при перемещении мыши выполнит еще несколько вычислений, прежде чем передавать значения в

.
$(this).css('background-position', both);

строка, где оба - это вновь рассчитанная позиция.

Это работает до этого момента, но у меня возникают проблемы с освобождением из события mousemove. После первоначального наведения мыши вниз и перемещения мыши я не могу отпустить панорамирование при наведении мыши вверх, и пользователь может панорамировать изображение, не щелкая.

Вот основной скелет (#test относится к просмотру div):

$("#test").mousedown( function(e) {


/* Various Calculations*/

$(this).mousemove( function(f) {

/* More Calculations, variable 'both' is assigned new coord value */

$(this).css('background-position', both);
    });         
});

Я пытался прикрепить событие mouseup в разных местах, но я не уверен, где именно находится нужное место и как его освободить. Любая помощь с благодарностью!

Ответы [ 2 ]

2 голосов
/ 20 августа 2009

чтобы удалить событие, вам нужно отсоединить его от объекта:

$("#test").unbind("mousemove");

остальная часть вашего вопроса мне не понятна

1 голос
/ 20 августа 2009

В качестве альтернативы в jQuery UI есть перетаскиваемый , который может удовлетворить ваши потребности. Он включает в себя события для запуска, остановки и перетаскивания.

Все зависит от того, хотите ли вы другую зависимость.

По крайней мере, вы можете проверить, как они выполняют свою последовательность событий для имитации того же поведения.

...