KineticJS-删除选定图像
我的代码在这里 具体来看:KineticJS-删除选定图像,kineticjs,Kineticjs,我的代码在这里 具体来看: $d('#delete').click(function(){ var toRemove = imageSelected; if(toRemove !== false) { var groups = layer.get('Group'); for(var j=0; j < groups.length; j++) {
$d('#delete').click(function(){
var toRemove = imageSelected;
if(toRemove !== false)
{
var groups = layer.get('Group');
for(var j=0; j < groups.length; j++)
{
var gid = groups[j].getId();
if(gid == toRemove)
{
groups[toRemove].destroy();
imageSelected = false;
layer.clear();
deselect();
sources[toRemove] = null;
j = groups.length;
}
}
}
});
$d('#删除')。单击(函数(){
var toRemove=已选择图像;
如果(toRemove!==false)
{
var groups=layer.get('Group');
对于(var j=0;j
我想做的是:
1) 用户应该能够单击任何图像(即出现锚),然后单击画布下的“删除”链接。然后图像应该消失(我不需要缓存它)
2) 用户应该能够单击画布下的“添加猴子”-单击任何图像(包括新添加的猴子)并将其删除
我认为,一旦我实现了上述内容——我应该更好地理解kinetic的工作原理——现在我感到困惑
非常感谢您的帮助 在我看来,我认为使用名为
selectedNode
的变量并将其指定为您正在选择的实际运动节点,而不是其id
更容易
selectedGroup=new dynamic.Shape({name:'emptyNode'})代码>
我在init上将selectedGroup命名为name:'emptyNode'
,然后取消选择,这样您就可以知道何时没有选择节点
现在,将动能对象存储在变量中,您可以轻松地在该节点上调用destroy()
(因为您不想缓存它)
$d(function() {
$d('#delete').click(function(){
if (selectedGroup.getName() !== 'emptyNode') {
selectedGroup.destroy();
layer.draw();
}
});
});
工作示例:
注意:我们要销毁该组,因为它包含所有锚和图像
哦,还有,因为您声明了var层
在您的应用程序范围内,我必须在您的initStage
函数中删除var
声明层
。这样,Jquery Ready函数就可以全局访问层
。您也可以安全地注释掉或删除您的SelecteImage和SelecteImage ID代码。非常感谢-我马上就到了!
$d(function() {
$d('#delete').click(function(){
if (selectedGroup.getName() !== 'emptyNode') {
selectedGroup.destroy();
layer.draw();
}
});
});