1

私はGOJS(http://www.gojs.net/latest/index.html)を使用しており、独自のデータモデル構造を持ついくつかのノードを含む図があります。

次のように「ObjectDoubleClicked」イベントを添付しています。

    Diagram.addDiagramListener("ObjectDoubleClicked", function (e)
    {
        // Do something
    });

イベントは正常に発生しますが、イベントのサブジェクト (ノードを取得) を取得できません。e.subject は未定義のままです。

図にドロップされる複数のノード タイプがあるため、それらを管理する必要があります。

ダブルクリックされたノードを取得する最良の方法は何ですか?

ありがとう、

4

1 に答える 1

4

あなたが求めているものの基本的な例でJSFiddleを作成しました。

HTML

<div id="myDiagram"></div>

CSS

#myDiagram{
    width:200px;
    height:200px;
}

ダイアグラムに幅と高さを割り当てないと表示されません。

JavaScript

var $ = go.GraphObject.make;
var myDiagram = $(go.Diagram, "myDiagram", {
    initialContentAlignment: go.Spot.Center,
    "undoManager.isEnabled": true
});

myDiagram.addDiagramListener("ObjectDoubleClicked", function (ev) {
    console.log(ev.subject); //Successfully logs the node you clicked.
    console.log(ev.subject.ie); //Successfully logs the node's name.
});

//(...) I've skipped the key adding, because it's not necessary to understand this code.

ほとんどのコードは、go.js ダイアグラム クラスgo.js ダイアグラムイベント クラスのドキュメントから引用されています。

それがあなたが望んでいたものであることを願っています!

于 2015-01-19T00:20:41.757 に答える