jquery - 具有可拖动层的clearCanvas()

标签 jquery canvas draggable jcanvas clearcanvas

当我向 Canvas 添加普通对象或图层时(使用 jCanvas ),我可以使用 clearCanvas() 函数清除 Canvas 。

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

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

最佳答案

<子> UPDATE by Mirko (先生,你来了)

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

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

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

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

关于jquery - 具有可拖动层的clearCanvas(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22766618/

相关文章:

javascript - 通过 jQuery addClass() 使用变量

chrome 中的 jQuery 可拖动助手故障

javascript - 有没有办法重新绑定(bind) jQuery 插件中引用的事件处理程序?

javascript - jquery - 如何检查父元素是 tbody 还是 thead?

c# - 如何将文本框绑定(bind)到日期时间字段但仅显示其日期部分(在 ASP.MVC 中)?

javascript - 如何移动 Canvas 图像

canvas - PDF 中的图像被截断 : How to make a canvas fit entirely in a PDF page?

java - 显示非常左上角的位图图像,未缩放

jQuery 可在浏览器之外拖动

jquery - 当包裹在 span 中时,可拖动对象隐藏外部内容