即使在 clearRect() 之后,canvas 中的文本仍然存在



所以我所做的基本上是从这个答案中添加一个删除按钮来清除画布的内容。

.HTML:

<button id="delete">delet this</button><br>

.JS:

$("#delete").click(function () {
ctx.clearRect(0, 0, canvas.width, canvas.height);
});

它按预期工作,直到我意识到它不是:如果我单击"绘制文本"按钮,应该消失的文本会再次出现。有人知道为什么吗?

有问题的小提琴:http://jsfiddle.net/wgq384et/

清除画布时,不会清除数组文本 []。因此,当您重绘时,它会重绘存储的文本。 只需在单击方法上将texts=[];添加到删除按钮中

最新更新