如何停止 mousemove?

How do I stop mousemove?

我创建了一个 JS 函数来左右拖动项目。单击按钮后我需要停止拖动。如何停止 mousemove?

我试过 $('.draggable').off('mousemove');e.stopPropagation();,但都不适合我。

JSFiddle抵千字,问题请看这里:https://jsfiddle.net/kthornbloom/k2k928j1/

在你的 jsfiddle 中试试这个:

$('#stop').on('click',function(){
  //$('.draggable').off('mousemove');
  $('.thing').off(); // Removes all event handlers.
});

除了mouseup,还使用了mouseleave事件。 https://jsfiddle.net/k2k928j1/2/

只需删除 "draggable" class.

$('.draggable').removeClass('draggable');

https://jsfiddle.net/a1vvmszq/

你的问题是你在做

$('.draggable').parents().on('mousemove', function(e) { ... });

$('.draggable').off('mousemove');

off 调用与 on 调用不在同一个元素上。改成

$('.draggable').parents().off('mousemove');

而且有效。

...尽管您确实应该存储处理程序并显式删除它。