我想锁定节点相对于其父复合节点的位置,这样,如果我抓取并拖动父节点,子节点会随之移动,但子节点不能单独抓取。如果我将子项设置为不可抓取和/或锁定,那么它不会与其父项一起移动,但如果我不这样做,它可以被单独拖动,这是我不想要的。这可以做到吗?
如果做不到这一点,有没有一种方法可以以编程方式抓取/取消抓取节点,以便我可以侦听抓取事件,然后抓取父节点?
与子对象的复合抓取/锁定逻辑可能总体上需要改进,但您应该能够使用当前版本实现您今天想要的效果:
cy.nodes().nonorphans()
.on('grab', function(){ this.ungrabify(); })
.on('free', function(){ this.grabify(); })
;
Run Code Online (Sandbox Code Playgroud)
这使得所有非孤立/子节点不能直接抓取,但仍然可以与其父节点一起移动。
改进参考: https: //github.com/cytoscape/cytoscape.js/issues/1074
| 归档时间: |
|
| 查看次数: |
2595 次 |
| 最近记录: |