将新属性添加到konvajs组对象

时间:2015-12-20 12:25:11

标签: javascript canvas attributes konvajs

如何向现有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并能够正确检索它呢?

1 个答案:

答案 0 :(得分:1)

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作为参考。