如何在用javascript按住鼠标时运行函数
我有一个jquery函数,它使用canvas创建线条,就像使用Paint一样。当鼠标在画布上移动时,该功能通过制作圆圈来工作。我想将此函数更改为仅当鼠标在画布上移动并且用户按住鼠标时才运行。以下是函数:如何在用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,
$("#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。它是一个属性,指示按下鼠标上的哪个按钮来触发事件。我在答案中提供了一个链接。详情请访问该网站。