如何停止 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');
你的问题是你在做
$('.draggable').parents().on('mousemove', function(e) { ... });
和
$('.draggable').off('mousemove');
off
调用与 on
调用不在同一个元素上。改成
$('.draggable').parents().off('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');
你的问题是你在做
$('.draggable').parents().on('mousemove', function(e) { ... });
和
$('.draggable').off('mousemove');
off
调用与 on
调用不在同一个元素上。改成
$('.draggable').parents().off('mousemove');
而且有效。
...尽管您确实应该存储处理程序并显式删除它。