我正在尝试创建示例形状的列表,单击画布中的任何形状时将显示这些示例形状。我如何在mxgraph中创建它。
我尝试使用mxgraph中的弹出菜单并尝试向其添加形状。但是我无法创建弹出菜单。我正在使用图形编辑器示例,并希望在单击任何创建的形状时在mxgraph中创建弹出菜单。
var newDiv = document.createElement("div");
newDiv.setAttribute("id","geApp");
var graphs = new mxGraph(document.getElementById("geApp"))
graphs.setTooltips(true);
new mxRubberband(graphs);
var parent = graphs.getDefaultParent();
graphs.popupMenuHandler.autoExpand = true;
// Installs context menu
graphs.popupMenuHandler.factoryMethod = function(menu, cell, evt)
{
menu.addItem('Item 1', null, function()
{
alert('Item 1');
});
menu.addItem('Item 2', null, function()
{
alert('Item 2');
});
menu.addSeparator();
var submenu1 = menu.addItem('Submenu 1', null, null);
menu.addItem('Subitem 1', null, function()
{
alert('Subitem 1');
}, submenu1);
menu.addItem('Subitem 1', null, function()
{
alert('Subitem 2');
}, submenu1);
};
我收到错误消息
它跳过
graphs.popupMenuHandler.factoryMethod().
每当单击在画布上创建的形状时,我想在mxgraph中创建一个弹出菜单或一个上下文板。
答案 0 :(得分:0)
该图没有createElement()函数,而是应使用:
var t = document.createElement('div');
但是为什么要将此div附加到容器中?
请按照以下方式编写代码。您的代码中缺少return语句
graph.popupMenuHandler.factoryMethod = function(menu, cell, evt)
{
return createPopupMenu(menu, cell, evt);
};
function createPopupMenu(menu, cell, evt)
{
// Your code to add the menu item
}