【问题标题】:How can I verify that a clicked element is a GoJS picture part and not an overlaid element?如何验证单击的元素是 GoJS 图片部分而不是覆盖元素?
【发布时间】:2019-07-31 13:50:06
【问题描述】:

当显示详细信息侧面板时,我正在尝试在我的 GoJS 图表上实现掩码。这需要停止将点击事件传播到下面的图表部分。如何验证事件目标是图片部分而不是覆盖它的掩码元素?

我尝试过使用 pointer-events CSS 属性,但这不起作用。

简化标记:

<div id="diagramWrapper"></div>
<div id="sidebar-mask"></div>

脚本 sn-p:

buildGo(go.Picture, {
    source: 'images/icons/simplify-icon.png',
    ...,
    click: function (e, node) {
        if (e.diagram === node.part) { <-- this, right here, isn't right
            let nodesToRemove = getLinkedNodes(e, node.part.data.key);
            removeNodes(nodesToRemove);
        }
    }
})

我还没有完全理解 GoJS 使用的两个字母的对象属性,这使我无法轻松找到正确的属性。对此的任何见解都会有很大帮助。

【问题讨论】:

    标签: onclick mouseevent gojs


    【解决方案1】:

    我建议您在显示模式对话框时将 Diagram.isEnabled 设置为 false。当模态 UI 因任何原因消失时,请务必将其设置回 true。更多可能性在https://gojs.net/latest/intro/permissions.html列出。

    正如https://gojs.net/latest/intro/index.html#DevelopingYourDiagram 中所述,您应该只在代码中使用记录在案的 API 名称,而不是随着每次构建而改变的缩小的两个字符名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多