GoJS Diagram - 获取Double Clicked的对象

时间:2015-01-19 00:01:17

标签: javascript events gojs

我正在使用GOJS(http://www.gojs.net/latest/index.html)并且有一个图表,其上有一些节点,它们有自己的数据模型结构。

我正在附加一个" ObjectDoubleClicked"这样的事件:

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

事件触发正常,但我无法获取事件的主题(带来节点)。 e.subject保持未定义。

由于我有多个节点类型将被删除在图表上,我需要管理它们。

获取双击节点的最佳方法是什么?

谢谢,

1 个答案:

答案 0 :(得分:2)

我制作了一个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 Diagram classgo.js DiagramEvent class文档。

希望它是你想要的!