可以为查看者的上下文菜单创建自定义项目,并且可以注册回调('target'属性)。但是click事件未在此回调内传递-我需要它来获取“ ctrl”键状态。为了解决这个问题,我必须重写Autodesk.Viewing.Private.ContextMenu.prototype.addCallbackToMenuItem方法作为“肮脏的解决方案”。还有其他解决方案吗?附言还是可以直接在“ addCallbackToMenuItem”方法内的“目标”回调内传递“事件”?这不是很大的变化,但是对处理元按钮状态很有用]
不确定是否在这里满足您的需求?
注册自定义上下文菜单时,您可以访问原始鼠标事件以及status
对象上的按键状态:
NOP_VIEWER.registerContextMenuCallback('MyExtensionName', function (menu, status) {
menu.push({
title: 'context menu name',
target: function () {
//access mouse event via "status.event"
}});
})