Javascript 关闭mouseoff和mouseup上的功能

Javascript 关闭mouseoff和mouseup上的功能,javascript,jquery,mouseevent,mouseup,Javascript,Jquery,Mouseevent,Mouseup,我已经用Jquery在一个ticker中实现了我自己的滚动,因为当已经涉及到css动画时,正常的滚动效果不太好。 我想要发生的是当你点击并拖动控制器时,它是一个包含股票代码的div,股票代码会移动。当您松开鼠标按钮时,它将停止。没问题。问题来了,当我不释放鼠标按钮,但我把鼠标从控制器上拿下来。发生这种情况时,跟踪鼠标位置不会停止。当我将鼠标放回正在滚动的控制器上时,是否单击了鼠标 $("#controller").mousedown(function (event) { var star

我已经用Jquery在一个ticker中实现了我自己的滚动,因为当已经涉及到css动画时,正常的滚动效果不太好。 我想要发生的是当你点击并拖动控制器时,它是一个包含股票代码的div,股票代码会移动。当您松开鼠标按钮时,它将停止。没问题。问题来了,当我不释放鼠标按钮,但我把鼠标从控制器上拿下来。发生这种情况时,跟踪鼠标位置不会停止。当我将鼠标放回正在滚动的控制器上时,是否单击了鼠标

$("#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);
});

如何关闭“鼠标移动”,跟踪鼠标位置;?让.mouseup和.mouseoff行执行相同的操作可以吗?

您需要检查track\u mouse\u pos功能中是否按下了鼠标按钮

function track_mouse_pos(e){
  if(e.which!=1) {$("#controller").trigger('mouseup');return}
...
}  

也许mouseenter/mouseleave事件会起作用?