2
我试图删除包含组(包含形状)或只是形状(线,矩形,圆等)作为其元素的数组的元素。我的作用是类似下面的东西:在Kineticjs中删除数组中的组
deleteSelectedShape = function() {
var i,
shapeObj,
selectedObjects = currentContext.getSelectedObjects(),
shapeLayer = currentContext.getShapeLayer();
if (selectedObjects && selectedObjects.length > 0) {
for (i = 0; i < selectedObjects.length; i += 1) {
shapeObj = selectedObjects[i];
// shapeObj.remove(); results same error as mentioned at last
if (shapeObj.nodeType === "Group") {
shapeObj.destroyChildren();
}
else{
shapeObj.destroy();
}
}
}
selectedObjects = [];
shapeLayer.draw();
};
我想这也
if (shapeObj.nodeType === "Group") {
var childs = [];
childs = shapeObj.getChildren();
for (var j = 0; j < childs.length; j++) {
childs[j].remove();
}
}
else{
shapeObj.remove();
}
}
}
这里单个形状越来越删除,但如果在阵列组,它给错误:
TypeError: this.getParent(...) is undefined in Kineticjs file
请建议我适当的想法。谢谢 !!!
删除任何号码没有任何问题。的选定形状。但是,如果数组中有一个组,只有这样它才会抛出上面的错误。所以我想知道如何从数组中删除该组以及其他形状?循环不是问题。谢谢 !!! – ashokpd
我也试过你的代码。但它又是一样的错误消息! – ashokpd