2014-03-31 30 views
1

当我向画布添加普通对象或图层时(使用jCanvas),我可以使用clearCanvas()函数清除画布。可拖动图层的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(); 
}); 
+0

我无法回答我自己的问题,因为我没有足够的声望。唯一的选择是编辑我自己的问题。 – Mirko

回答

1

UPDATE by Mirko(在这里,你是先生)

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

clearCanvas()方法只是为了与使用非图层(静态)图纸。只要您的画布至少有一个jCanvas图层,clearCanvas()就不适用。

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

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

nicolallias,在这样的情况下,礼仪是让你的答案*社区Wiki *,所以你不会得到不是你的答案的声誉。 – brasofilo

+0

感谢您的提示;) – nicolallias