在mouseoff和mouseup上关闭功能

时间:2014-05-06 23:07:28

标签: javascript jquery mouseevent mouseup

我已经在Jquery的自动收录机中实现了自己的滚动操作,因为当已经涉及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行做同样的事情?

1 个答案:

答案 0 :(得分:0)

您需要检查“track_mouse_pos”功能中是否按下了鼠标按钮。

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