我有一个jquery函数,它使用画布来创建线条,就像您可以使用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();
});
至少有一种相对简单的方法来实现这一点吗?我甚至不知道如何开始。任何意见都将非常感谢!
发布于 2018-06-11 06:38:54
如果为event.which == 1
,则执行代码。这将验证是否按下了左键(按住鼠标)。
获取更多MouseEvent.which
。
$("#canvas").on('mousemove',function(event) {
if(event.which == 1){
var ctx = this.getContext("2d");
ctx.lineWidth = 4;
ctx.fillStyle = "fuchsia";
ctx.beginPath();
ctx.arc(event.pageX, event.pageY, 6, 0, Math.PI*2, false);
ctx.fill();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="canvas" width="200" height="100" style="border:1px solid #000000;"></canvas>
https://stackoverflow.com/questions/50788544
复制相似问题