0

我正在寻找一种在动力学 js 上删除图层的方法。我认为这是一项简单的任务,我尝试了一些代码,例如 node.remove() 或 layer.remove(node) 但真的无法弄清楚。

这是示例代码:

    <!DOCTYPE HTML>
<html>
  <head>

  </head>
  <body>
    <div id="container"></div>
    <script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.6.0.min.js"></script>
    <script defer="defer">
    var stage = new Kinetic.Stage({
        container: 'container',
        width: 578,
        height: 200
      });

      var layer = new Kinetic.Layer();

      var rect = new Kinetic.Rect({
        x: 239,
        y: 75,
        width: 100,
        height: 50,
        fill: 'green',
        stroke: 'black',
        strokeWidth: 4
      });

      // add the shape to the layer
      layer.add(rect);

      // add the layer to the stage
      stage.add(layer);

function delete()
    {
    layer.remove();

    }
    </script>
    <button type="button" onclick="delete()">Delete</button>
  </body>
</html>

我不明白为什么我的 delete() 函数不起作用。有人知道我做错了什么吗?谢谢之前

4

1 回答 1

0

实际上,我从来不需要删除整个图层。我清除它并重新使用它。

layer.removeChildren();

或者

仅删除特定内容,例如(组)或(行)或(图像)或其他...

console.dir(layer);  // initial check -- look at (children)...

    var groups = $('#layerID').find('Group');
    groups.each(function(group) {

        group.destroy(); or.... 
        group.remove();

    });

console.dir(layer);  // verify it worked (look at children again... a bunch were removed)
于 2014-06-26T03:12:54.967 回答