jQuery事件发布

时间:2009-08-19 22:01:32

标签: jquery javascript-events onmousedown onmouseup

我对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 个答案:

答案 0 :(得分:2)

删除您需要从对象取消绑定的事件:

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

你的其他问题我不清楚

答案 1 :(得分:1)

作为替代方案,有draggable in jQuery UI可能适合您的需求。它包括启动,停止和拖动的事件。

这完全取决于你是否想要另一个依赖。

至少,您可以检查他们如何执行事件序列以模拟相同的行为。