我对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事件,但我不确定正确的位置到底在哪里,以及如何发布。非常感谢任何帮助!
答案 0 :(得分:2)
删除您需要从对象取消绑定的事件:
$("#test").unbind("mousemove");
你的其他问题我不清楚
答案 1 :(得分:1)
作为替代方案,有draggable in jQuery UI可能适合您的需求。它包括启动,停止和拖动的事件。
这完全取决于你是否想要另一个依赖。
至少,您可以检查他们如何执行事件序列以模拟相同的行为。