2

当我将普通对象或图层添加到画布(使用jCanvas)时,我可以使用该clearCanvas()功能清除画布。

但是当我使我的图层可拖动时,该clearCanvas()功能似乎不起作用。当我单击按钮时,它确实清除了画布,但是一旦鼠标再次悬停在画布上,删除的内容就会再次添加。我在这里做错了什么?

JSFiddle 演示

$('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();
});
4

1 回答 1

1

Mirko 的更新(你在这里,先生)

Caleb Evans为我的问题提供了解决方案:

clearCanvas()方法仅适用于非图层(静态)绘图。只要您的画布至少有一个 jCanvas 层,clearCanvas()就会变得不适用。

如果您希望完全删除图层(假设您再也不需要它),请使用该removeLayer()方法。

$('#clear').click(function(){
    $('canvas').removeLayers();
    $('canvas').drawLayers();
});
于 2014-04-03T09:16:01.920 回答