2012-12-28 81 views
1

我正在用for()語句創建矩形節點,現在我需要獲取每個節點的引用。有接縫成爲創建這些畫布對象的一些黑色魔法,所以它很難訪問沒有ID參考的項目。 有人可以清除這個問題或指出我在正確的方向嗎?節點的KineticJS 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

你可以分享代碼示例,更容易編輯和恢復。 – Ani

回答

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];

+0

感謝羅南,我能夠給他們身份證和姓名區分他們。我認爲這是最好的選擇。 – mike628