javascript - Diagram.contextMenu 值不是 Adornment 的实例

标签 javascript gojs adornment

我的 Go diagram 上的 contextMenu 定义如下

SeatingMapGraphicsRef.contextMenu =
$(go.Adornment, "Vertical",
  // no binding, always visible button:
  $("ContextMenuButton",
    $(go.TextBlock, "Hold Seats"),
    { click: function(e, obj) {
      holdSeatsInDragSelect();
    } }),
           $("ContextMenuButton",
    $(go.TextBlock, "Select Seats"),
    { click: function(e, obj) {
    } }),
            $("ContextMenuButton",
    $(go.TextBlock, "Lock Seats"),
    { click: function(e, obj) {
    } }),
            $("ContextMenuButton",
    $(go.TextBlock, "Cancel"),
    { click: function(e, obj) {
      var diagram = e.diagram;
                diagram.hideContextMenu();
    } })
);

但是当我写这个的时候,我得到了以下错误:

Error: Diagram.contextMenu value is not an instance of Adornment

究竟是怎么回事?

这是我对 SeatingMapGraphicsRef 的定义

    function generateMap() {
    SeatingMapGraphicsRef =
    GO(go.Diagram, "mapBodyDiv",  // the DIV HTML element
        {
            initialContentAlignment: go.Spot.Center,
            initialAutoScale:go.Diagram.Uniform,
            "toolManager.mouseWheelBehavior": go.ToolManager.WheelZoom
        });

最后是 ContextMenus 的引用页面,我从中获取了 diagram 级别的 contextMenu 定义。

http://gojs.net/latest/intro/contextMenus.html

最佳答案

因为你开始使用:

var GO = go.GraphObject.make;

而不是(样本中常见的):

var $ = go.GraphObject.make;

大概是因为您也在使用 jQuery。

如果您将装饰定义中的所有 $ 更改为 GO,它可能会起作用

关于javascript - Diagram.contextMenu 值不是 Adornment 的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32514221/

相关文章:

javascript - jquery 动画 boxshadow

javascript - 如何将json数据转换成BPMN兼容格式?

wpf - 从标签中删除 WPF 验证装饰

c# - Visual Studio 2010 SDK -- 如何在 XML 注释组旁边放置装饰?

javascript - 数据加载文本不起作用

javascript - Javascript 异步函数调用中 setInterval 函数异常

javascript - Mithril.js 具有多个 GET 请求

java - 如何从 Chrome 浏览器获取 Canvas 元素坐标

javascript - 如何编辑基本图表的go.js分组模板?

c# - 文本前面的 Visual Studio 修饰会干扰选择