Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何阻止mousemove?_Javascript_Jquery_Draggable_Drag - Fatal编程技术网

Javascript 如何阻止mousemove?

Javascript 如何阻止mousemove?,javascript,jquery,draggable,drag,Javascript,Jquery,Draggable,Drag,我已经创建了一个JS函数来左右拖动一个项目。单击按钮后,我需要停止拖动。如何阻止mousemove 我试过$('.draggable').off('mousemove')和e.stopPropagation(),但对我来说都不管用 一个JSFIDLE胜过千言万语,请看这里的问题:在您的JSFIDLE中试试这个: $('#stop').on('click',function(){ //$('.draggable').off('mousemove'); $('.thing').off();

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

我试过
$('.draggable').off('mousemove')
e.stopPropagation(),但对我来说都不管用


一个JSFIDLE胜过千言万语,请看这里的问题:

在您的JSFIDLE中试试这个:

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

在您的JSFIDLE中尝试以下操作:

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

除了
mouseup
,还可以使用
mouseleave
事件

除了
mouseup
之外,还可以使用
mouseleave
事件

只需删除“draggable”类即可

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

只需删除“可拖动”类即可

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


你的问题是你在做

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

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

$('.draggable').parents().off('mousemove');
它是有效的


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

您的问题在于

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

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

$('.draggable').parents().off('mousemove');
它是有效的


…虽然您确实应该存储处理程序并显式删除它。

它似乎不会阻止长方体移动。您是否编辑了代码,然后在尝试移动长方体之前单击停止链接?当我编辑你的代码时,它对我有效。我不知道为什么jQuery不允许运行此代码:
$('.draggable').off('mousemove')也不是此代码
$('.thing').off('mousemove')当他们的API文档显示这样做完全合法时。(请参阅此处的附加说明:)这可能是他们库中的一个错误。它似乎无法阻止长方体移动。在尝试移动长方体之前,您是否编辑了代码并单击了“停止”链接?当我编辑你的代码时,它对我有效。我不知道为什么jQuery不允许运行此代码:
$('.draggable').off('mousemove')也不是此代码
$('.thing').off('mousemove')当他们的API文档显示这样做完全合法时。(请参阅此处的附加说明:)这可能是他们库中的一个bug。嗨,奥斯卡,对不起,这很难描述。我想让盒子在鼠标移动的过程中继续移动。我只希望它在点击按钮后停止。啊,我明白了。也许你想要以下的东西:嗨,奥斯卡,对不起,这很难描述。我想让盒子在鼠标移动的过程中继续移动。我只希望它在点击按钮后停止。啊,我明白了。也许你想要以下的东西:+1,因为你是完全正确的。我接受了另一个答案,因为它回答了我的具体问题。我接受了另一个答案,因为它回答了我的具体问题。