0

我有一个舞台,里面有一个图层,图层里面有一个组。

如果我的对象 ( var complexText = new Kinetic.Text()) 有name: 'name1'id: 'id5',是否可以使用setFill()并且setText()仅使用来更改填充和文本id

我的代码不起作用:

var stage = new Kinetic.Stage({ ... });
var layer = new Kinetic.Layer();
var group1 = new Kinetic.Group({ draggable: false });
layer.add(group1);
stage.add(layer);

var menuTab = new Kinetic.Rect({... , id: 'id1', name: 'name1'});      
var complexText = new Kinetic.Text({... , id: 'id5', name: 'name1'});      
group1.add(menuTab);
group1.add(complexText);

menuTab.on('click', function() {
    var textChange = stage.get('#id5');  // didn't work
    // and .... var textChange = layer.get('#id5');
    // and .... var textChange = group1.get('#id5'); //didn't work

        textChange.setFill('#BB9999');
        textChange.setText('f3');
        alert( textChange.getText() );
        //this.setText('3');
    layer.draw();
});
4

1 回答 1

0

你必须使用

var textChange = stage.get('#id5')[0];
// or .... var textChange = layer.get('#id5')[0];
// or .... var textChange = group1.get('#id5')[0];

textChange.setFill('#BB9999');
textChange.setText('f3');
于 2013-08-27T20:06:20.237 回答