替换上下文菜单的简单方法

Simple way to replace context menu

如何在选中对象时替换上下文菜单?

目前我正在根据 Philippe Leefsma 的 API 和 Autodesk.ADN.Viewing.Extension.ContextMenu.js 示例进行尝试。

var contextMenu = new Autodesk.Viewing.UI.ObjectContextMenu(viewer);

contextMenu.buildMenu(Autodesk.Viewing.AGGREGATE_SELECTION_CHANGED_EVENT, [{ title: 'This is a menu item', target: function () { alert('Menu item clicked'); } }]);

viewer.setContextMenu(contextMenu);    

将所有菜单项替换为您自己的菜单项应该非常简单...查看 there 以获得完整示例

Autodesk.ADN.Viewing.Extension.AdnContextMenu.prototype.buildMenu =

      function (event, status) {

          //completely disable native menu 
          //var menu =  Autodesk.Viewing.Extensions.ViewerObjectContextMenu.prototype.buildMenu.call(this, event, status);

          //and sneak your own ...
          var menu = []

          menu.push({
            title: "Dude menu item",
            target: function () {
                alert('Dude I was clicked!');
            }
          })

          return menu;
      };