Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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按住鼠标时运行函数_Javascript_Jquery_Html5 Canvas_Mousemove - Fatal编程技术网

如何在用javascript按住鼠标时运行函数

如何在用javascript按住鼠标时运行函数,javascript,jquery,html5-canvas,mousemove,Javascript,Jquery,Html5 Canvas,Mousemove,我有一个jquery函数,它使用canvas创建线条,就像使用Paint一样。当鼠标在画布上移动时,该功能通过制作圆圈来工作。我想将此函数更改为仅当鼠标在画布上移动并且用户按住鼠标时才运行。以下是函数: $("#canvas").mousemove(function(event) { ctx.lineWidth = 4; ctx.fillStyle = "fuchsia"; ctx.beginPath(); ctx.arc(event.pageX, event.pageY, 6,

我有一个jquery函数,它使用canvas创建线条,就像使用Paint一样。当鼠标在画布上移动时,该功能通过制作圆圈来工作。我想将此函数更改为仅当鼠标在画布上移动并且用户按住鼠标时才运行。以下是函数:

$("#canvas").mousemove(function(event) {
  ctx.lineWidth = 4;
  ctx.fillStyle = "fuchsia";
  ctx.beginPath();
  ctx.arc(event.pageX, event.pageY, 6, 0, Math.PI*2, false);
  ctx.fill();
});

是否至少有一种相对直接的方法来实现这一点?我甚至不知道如何开始。任何意见都将不胜感激

如果
event.which==1,则执行代码。这将验证是否按下左键(按住鼠标)

更多

$(“#画布”).on('mousemove',函数(事件){
if(event.which==1){
var ctx=this.getContext(“2d”);
ctx.lineWidth=4;
ctx.fillStyle=“紫红色”;
ctx.beginPath();
ctx.arc(event.pageX,event.pageY,6,0,Math.PI*2,false);
ctx.fill();
}    
});

如果
事件=1,则执行代码。这将验证是否按下左键(按住鼠标)

更多

$(“#画布”).on('mousemove',函数(事件){
if(event.which==1){
var ctx=this.getContext(“2d”);
ctx.lineWidth=4;
ctx.fillStyle=“紫红色”;
ctx.beginPath();
ctx.arc(event.pageX,event.pageY,6,0,Math.PI*2,false);
ctx.fill();
}    
});


您需要捕获
mousedown
mouseup
事件来设置/取消设置
mouse\u向下
标志,并在
mousemove
处理程序中使用它。您需要捕获
mousedown
mouseup
事件来设置/取消设置
mouse\u向下
标志,在你的
mousemove
处理程序中使用它。如果你解释或链接
事件的内容也会很好。这在本文中的意思是这是一个很好的答案,正是我想要的。然而,我不明白这件事。你能解释一下吗?@MichaelAlexander,
event。它是一个属性,指示按下鼠标上的哪个按钮来触发事件。我在答案中提供了一个链接。有关详细信息,请访问该网站。如果您解释或链接了
事件,也会很好。这在本文中是
的意思这是一个很好的答案,正是我想要的。然而,我不明白这件事。你能解释一下吗?@MichaelAlexander,
event。它是一个属性,指示按下鼠标上的哪个按钮来触发事件。我在答案中提供了一个链接。详情请访问该网站。