即使在clearRect()之后,画布内的文本仍然存在

时间:2018-06-07 07:49:01

标签: javascript html canvas

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

HTML:

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

JS:

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

它按预期工作,直到我意识到它不是:如果我单击“绘制文本”按钮,那么据说已经消失的文本会再次出现。谁知道为什么?

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

1 个答案:

答案 0 :(得分:3)

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

即可