1

如何向现有Konva.Group()对象添加新属性?

例如:

var myRoom = {
  title: "living room",
  group: new Konva.Group({
    x: 0,
    y: 0,
    draggable: true
  })
};

myRoom.group.setAttr("obj", myRoom);
myRoom.group.on('dblclick', function(evt) {
  console.log('room obj', evt.target.getAttr("obj"));
});

属性“obj”是`未定义的!那么如何将它添加到 Group obj 并能够正确检索它呢?

4

1 回答 1

2

evt.target是对您 dbclicked 的形状的引用。

要获得对Group实例的引用,您可以使用this

myRoom.group.on('dblclick', function(evt) {
  console.log(evt.target);  // circle
  console.log(this);   // group
  console.log('room obj', this.getAttr("obj"));
});

演示:https ://jsfiddle.net/qsyw4bqm/

注意:在Konva(0.11.0) 的新版本中,您将可以evt.currentTarget用作此类参考。

于 2015-12-20T13:49:19.383 回答