我正在使用for()语句创建矩形节点,现在我需要获取每个节点的引用。接缝是要创建这些画布对象的一些黑魔法,所以它使得很难访问没有id引用的项目。 有人可以清除这一点或指出我正确的方向吗?
for(x=1;x<=8;x++)
{
var rect = new Kinetic.Rect({
x: 300,
y: 80+offset,
width: 60,
height: 20,
fill: 'white',
stroke: 'black',
strokeWidth: 1,
draggable: false
});
rect.on('mouseover', function() {
writeMessage(messageLayer, this.getY());
});
// add the shape to the layer
layer.add(rect);
offset += 120;
由于
答案 0 :(得分:1)
你应该能够使用layer.getChildren();
来访问每个人,这将返回所有这些,或者如果你知道你需要哪一个,layer.getChildren()[0];
,它将获得第一个。
虽然我会给每个人一个名字,以使其更容易。
for(x=1;x<=8;x++)
{
var rect = new Kinetic.Rect({
name: 'rct'+x,
x: 300,
y: 80+offset,
width: 60,
height: 20,
fill: 'white',
stroke: 'black',
strokeWidth: 1,
draggable: false
});
}
然后您可以使用layer.get('.rct3');
或layer.get('.rct3')[0];
。