约束节点到单轴的运动

时间:2016-10-15 03:50:53

标签: cytoscape.js

使用Cytoscape.js,如何将节点的移动限制为单个(即x或y)轴?我希望能够做到这一点,所以节点只能垂直或水平拖动,但不能同时拖动。换句话说,我想锁定一个节点,但只能在一个轴上。我不确定这是否可行,并且无法在文档中找到任何具体的内容,所以我想我会问。

提前致谢!

2 个答案:

答案 0 :(得分:1)

使用automove扩展名,可以设置您喜欢的节点定位限制。约束x值就像将(x, y) => { return { xConst, y }; }函数传递给扩展名一样简单。

答案 1 :(得分:0)

我最终提出了一种方法来通过监听每个节点的free事件来估计我想要的结果,并将其位置设置为我需要的位置。这并不限制节点拖动到单个轴,但如果有意义的话,它会将节点限制为单个轴。

以下是free事件的Cytoscape.js说明:

  

free:当一个元素被释放时(即放弃被抓住)

来自:http://js.cytoscape.org/#events/collection-events