我想在鼠标点击时绘制一条多线(我的意思是一些连续的线与前一行共享一个坐标,与下一行共享一个坐标)。我目前通过mousemove
jQuery 中的事件实现了这一点:
var worksheetCanvas = $('#worksheet-canvas');
var context = worksheetCanvas.get(0).getContext("2d");
var mouse = {
x: -1,
y: -1
}
var parentOffset = $('#canvas-holder').parent().offset();
worksheetCanvas.click(function(e) {
mouse.x = e.pageX - parentOffset.left;
mouse.y = e.pageY - parentOffset.top;
context.beginPath();
context.moveTo(mouse.x, mouse.y);
$(this).mousemove(function(k) {
context.strokeStyle = "rgb(180,800,95)";
context.lineTo(k.pageX - parentOffset.left, k.pageY - parentOffset.top);
context.closePath();
context.stroke();
})
})
但正如我可以在这个例子中向你展示的那样,当我移动鼠标光标时,它会留下一连串线条,我需要以某种方式删除这些线条,以创建一条需要定义另一个点的可移动线条的印象。我试图清除不需要的行,但 2d 上下文只有一个clearRect()
方法,而我正在寻找类似clearPath()
.