2014-03-31 11 views
1

일반 오브젝트 또는 레이어를 캔버스에 추가하면 (jCanvas 사용) clearCanvas() 함수를 사용하여 캔버스를 지울 수 있습니다.dracable 레이어가있는 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, 이런 경우 에티켓이 당신의 답을 만들고 있습니다 * Community Wiki * 그래서 당신은 당신이 아닌 대답에 대한 평판을 얻지 못합니다. 팁을 주신 덕분에 – brasofilo

+0

;) – nicolallias