mxgraph 在右击边的时候给边的svg path设置class属性并在渲染后一直保留
时间: 2024-03-20 11:44:12 浏览: 73
mxgraph-svg2shape
要在右击 mxgraph 中的边时给边的 SVG 路径设置 class 属性并在渲染后一直保留,可以通过 mxgraph 的事件机制来实现。
首先,可以通过 mxGraph.addListener() 方法来添加一个 rightClick 事件监听器,该监听器可以获取到右击的边的 cell 对象。然后,可以通过 mxGraph.view.getState() 方法来获取该边的状态对象,并从该状态对象中获取该边的 SVG 路径元素。接着,可以通过设置元素的 className 属性来给该路径元素设置 class 属性,从而实现设置 class 属性的目的。最后,可以通过 mxGraph.refresh() 方法来刷新 mxgraph,使得该 class 属性一直保留。
示例代码如下:
```javascript
graph.addListener(mxEvent.RIGHT_CLICK, function(sender, evt) {
var cell = evt.getProperty('cell');
if (cell != null && graph.getModel().isEdge(cell)) {
var state = graph.view.getState(cell);
var path = state.shape.node.getElementsByTagName('path')[0];
path.setAttribute('class', 'my-class');
graph.refresh();
}
});
```
其中,`my-class` 是你要设置的 class 名称。
阅读全文