1

我已经在 J​​query 的代码中实现了我自己的滚动,因为当已经涉及 css 动画时,正常滚动不能很好地工作。我想要发生的是当您单击并拖动控制器时,控制器是一个包含股票代码的 div,股票代码移动。当您释放鼠标按钮时,它会停止。那里没问题。问题来了,当我不释放鼠标按钮时,我确实将鼠标从控制器上移开。发生这种情况时 track_mouse_pos 不会停止。当我将鼠标放回正在滚动的控制器上时,是否单击。

$("#controller").mousedown(function (event) {
    var start_x = event.clientX;
    var start_y = event.clientY;
    $("#controller").on('mousemove', {start_x: start_x}, track_mouse_pos);
});

$("#controller").mouseup(function () {
    $("#controller").off('mousemove', track_mouse_pos);
});

我怎样才能关闭('mousemove', track_mouse_pos);?可以只用一个.mouseup.mouseoff线做同样的事情吗?

4

1 回答 1

0

您需要检查是否在“track_mouse_pos”函数中按下了鼠标按钮。

function track_mouse_pos(e){
  if(e.which!=1) {$("#controller").trigger('mouseup');return}
...
}  
于 2014-05-06T23:16:24.540 回答