Javascript jQuery:关于事件的问题
如何使用jQuery使mousemove事件仅在按住鼠标左键的情况下才处于活动状态,并且一旦松开鼠标左键,mousemove事件就会停止?简单的方法是保留一个标志,该标志仅在按住鼠标左键的情况下设置为true。这意味着您必须在按下鼠标左键时将其设置为true,并在释放时将其重置为false。然后,只有当该标志为真时,才对mousemove执行操作 它不是特定于jQuery的解决方案,而是针对此类问题的通用模式,因此jQuery可能提供更好的解决方案Javascript jQuery:关于事件的问题,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,如何使用jQuery使mousemove事件仅在按住鼠标左键的情况下才处于活动状态,并且一旦松开鼠标左键,mousemove事件就会停止?简单的方法是保留一个标志,该标志仅在按住鼠标左键的情况下设置为true。这意味着您必须在按下鼠标左键时将其设置为true,并在释放时将其重置为false。然后,只有当该标志为真时,才对mousemove执行操作 它不是特定于jQuery的解决方案,而是针对此类问题的通用模式,因此jQuery可能提供更好的解决方案 您可能需要注意特殊情况,如在按住左键时丢失输入
您可能需要注意特殊情况,如在按住左键时丢失输入焦点或鼠标光标超出该div。简单的方法是保持一个标志,只有在按住左键时,该标志才设置为true。这意味着您必须在按下鼠标左键时将其设置为true,并在释放时将其重置为false。然后,只有当该标志为真时,才对mousemove执行操作 它不是特定于jQuery的解决方案,而是针对此类问题的通用模式,因此jQuery可能提供更好的解决方案
您可能需要注意特殊情况,例如在按住左键的同时丢失输入焦点或鼠标光标离开该div。这里我将
mousemove
事件绑定到mousedown上,并在mouseup
上解除绑定。我在jQuery中使用了一个很酷的特性,因此可以将其他mousemove事件添加到此选择器中,但只删除了要解除绑定的事件。他们被称为
编辑:我更新了我的答案,以使用规范化字段
,该字段。jQuery将其规范化为1=左,2=中,3=右。按钮的值将根据浏览器的不同而不同。这里我将mousemove事件绑定到mousedown上,并在mouseup上解除绑定。我在jQuery中使用了一个很酷的特性,因此可以将其他mousemove事件添加到此选择器中,但只删除了要解除绑定的事件。他们被称为
编辑:我更新了我的答案,以使用规范化字段,该字段。jQuery将其规范化为1=左,2=中,3=右。按钮的值将根据浏览器的不同而有所不同。绑定mousedown事件并在该函数内调用mousemove,然后使用jQuery unbind事件删除mousemove
var$button=$(“此处的元素”)
绑定mousedown事件并在该函数内调用mousemove,然后使用jQuery unbind事件除去mousemove
var$button=$(“此处的元素”)
只需在mousedown
上绑定mousemove
,并在mouseup
上解除绑定。只需在mousedown
上绑定mousemove
并在mouseup
上解除绑定即可。
$("#yourdivid").mousedown(function(e){
if(e.which == 1){
$(this).bind('mousemove.coolnamespace', function(e){
// Your mousemove event
});
}
}).mouseup(function(e){
if(e.which == 1) $(this).unbind('mousemove.coolnamespace');
})
$button.mousedown(function(){
$(this).mousemove(function(){
//Events here
});
}).mouseup(function(){
$(this).unbind("mousemove");
});