当我将普通对象或图层添加到画布(使用 jCanvas)时,我可以使用 clearCanvas()
函数清除画布。
但是当我使我的图层可拖动时,clearCanvas()
功能似乎不起作用。当我单击按钮时,它确实会清除画布,但是一旦鼠标再次悬停在画布上,删除的内容就会再次添加。我在这里做错了什么?
JSFiddle Demo
$('canvas').drawArc({
fillStyle: 'black',
x: 100, y: 100,
radius: 50,
draggable: true, // uncomment this and Clear canvas works.
layer: true,
});
$('#clear').click(function(){
$('canvas').clearCanvas();
});
Mirko 的更新(先生,您在这里)
Caleb Evans为我的问题提供了解决方案:
clearCanvas()
方法仅用于非图层(静态)图形。每当画布至少有一个 jCanvas 图层时,clearCanvas()
就变得不适用。
如果要完全删除图层(假设不再需要它),请使用 removeLayer()
方法。
$('#clear').click(function(){
$('canvas').removeLayers();
$('canvas').drawLayers();
});