【问题标题】:Determine item that was clicked with context menu确定使用上下文菜单单击的项目
【发布时间】:2018-10-28 17:10:32
【问题描述】:

在这篇文章中描述了一种自定义上下文菜单的方法: https://forge.autodesk.com/blog/customize-viewer-context-menu

但是有什么方法可以确定该项目是完全右键单击的吗?我想在上下文菜单中为单击的项目(未选择)添加操作。

【问题讨论】:

    标签: autodesk-forge


    【解决方案1】:

    如果您进一步查看该博客文章,您会发现以下代码 sn-p 来查找被右键单击的项目的 dbid(s):

    async buildMenu( event, status ) {
       // Do hitTest to get dbIds
       const viewport = this.viewer.container.getBoundingClientRect();
       const canvasX = event.clientX - viewport.left;
       const canvasY = event.clientY - viewport.top;
    
       const result = this.viewer.impl.hitTest( canvasX, canvasY, false );
    

    希望这能回答您的问题,如果还有什么我可以提供的帮助,请告诉我。

    【讨论】:

    • 没问题。保重:)
    • 另外,作为建议(如果您来自 Forge 团队):将点击事件传递给“目标”回调(例如,以判断是否按下了 Ctrl)。现在我必须重写 ContextMenu 中的“addCallbackToMenuItem”方法来做到这一点
    猜你喜欢
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多