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 ответ

Решение

ОБНОВЛЕНИЕ Мирко (вот вы, сэр)

Калеб Эванс дал мне решение моей проблемы:

clearCanvas() Метод предназначен только для использования с неслойными (статическими) чертежами. Всякий раз, когда у вас есть хотя бы один слой jCanvas для вашего холста, clearCanvas() становится неприменимым.

если вы хотите полностью удалить слой (при условии, что он вам больше не понадобится), используйте removeLayer() метод.

$('#clear').click(function(){
    $('canvas').removeLayers();
    $('canvas').drawLayers();
});
Другие вопросы по тегам