Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 jQuery:关于事件的问题_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript jQuery:关于事件的问题

Javascript jQuery:关于事件的问题,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,如何使用jQuery使mousemove事件仅在按住鼠标左键的情况下才处于活动状态,并且一旦松开鼠标左键,mousemove事件就会停止?简单的方法是保留一个标志,该标志仅在按住鼠标左键的情况下设置为true。这意味着您必须在按下鼠标左键时将其设置为true,并在释放时将其重置为false。然后,只有当该标志为真时,才对mousemove执行操作 它不是特定于jQuery的解决方案,而是针对此类问题的通用模式,因此jQuery可能提供更好的解决方案 您可能需要注意特殊情况,如在按住左键时丢失输入

如何使用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");
        });