如何验证单击的元素是 GoJS 图片部分而不是覆盖元素?
How can I verify that a clicked element is a GoJS picture part and not an overlaid element?
我正在尝试在显示详细信息侧面板时在我的 GoJS 图上实施遮罩。这需要停止将点击事件传播到下面的图表部分。如何验证事件目标是图片部分而不是覆盖它的遮罩元素?
我试过使用 pointer-events
CSS 属性,但这不起作用。
简化标记:
<div id="diagramWrapper"></div>
<div id="sidebar-mask"></div>
脚本片段:
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 使用的两个字母的对象属性,这使我无法轻松找到正确的 属性。对此的任何洞察都会有很大帮助。
我建议您在显示模式对话框时将 Diagram.isEnabled 设置为 false。当模态 UI 因任何原因消失时,请务必将其设置回 true。 https://gojs.net/latest/intro/permissions.html.
中列出了更多可能性
如 https://gojs.net/latest/intro/index.html#DevelopingYourDiagram 中所述,您应该只在代码中使用记录在案的 API 名称 -- 而不是会随着每次构建而改变的缩小的两个字符名称。
我正在尝试在显示详细信息侧面板时在我的 GoJS 图上实施遮罩。这需要停止将点击事件传播到下面的图表部分。如何验证事件目标是图片部分而不是覆盖它的遮罩元素?
我试过使用 pointer-events
CSS 属性,但这不起作用。
简化标记:
<div id="diagramWrapper"></div>
<div id="sidebar-mask"></div>
脚本片段:
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 使用的两个字母的对象属性,这使我无法轻松找到正确的 属性。对此的任何洞察都会有很大帮助。
我建议您在显示模式对话框时将 Diagram.isEnabled 设置为 false。当模态 UI 因任何原因消失时,请务必将其设置回 true。 https://gojs.net/latest/intro/permissions.html.
中列出了更多可能性如 https://gojs.net/latest/intro/index.html#DevelopingYourDiagram 中所述,您应该只在代码中使用记录在案的 API 名称 -- 而不是会随着每次构建而改变的缩小的两个字符名称。