带有可拖动图层的clearCanvas()

时间:2014-03-31 16:08:51

标签: jquery canvas draggable jcanvas clearcanvas

当我向画布添加普通对象或图层时(使用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();
});

1 个答案:

答案 0 :(得分:1)

UPDATE by Mirko(现在你是先生)

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

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

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

$('#clear').click(function(){
    $('canvas').removeLayers();
    $('canvas').drawLayers();
});