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.targetdbclickしたシェイプへの参照です。

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/

注: (0.11.0) の新しいバージョンでは、そのような参照としてKonva使用できるようになります。evt.currentTarget

于 2015-12-20T13:49:19.383 に答える