我的 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 定义。
最佳答案
因为你开始使用:
var GO = go.GraphObject.make;
而不是(样本中常见的):
var $ = go.GraphObject.make;
大概是因为您也在使用 jQuery。
如果您将装饰定义中的所有 $
更改为 GO
,它可能会起作用
关于javascript - Diagram.contextMenu 值不是 Adornment 的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32514221/