cytoscape.js:容器更改后鼠标指针位置错误

时间:2014-05-04 20:41:02

标签: cytoscape.js

我使用cytoscape.js 2.2.5在angular.js app中绘制图形,我可以正确选择节点。当带有图形的<div>移动时,画布上的鼠标指针位置不会更新。这意味着我必须点击节点的“旧”位置才能选择它。

我尝试了cy.reset()cy.center()cy.fit(),但鼠标指针的位置没有变化。

更改cytoscape <div>的位置后,如何更新图表?

原始页面:

enter image description here

更改<div>位置

之后

当我移除蓝色面板并且图形<div>向上移动时,鼠标指针位置错误。我使用ng-show指令(使用css hidden / visible)。 enter image description here

1 个答案:

答案 0 :(得分:3)

当您调整(或移动,我猜)cy div时,您需要通知核心更改。不幸的是,浏览器DOM模型没有办法自动跟踪它。

cy.resize(); // notify that the container has changed dims

http://cytoscape.github.io/cytoscape.js/#core/viewport-manipulation/cy.resize

或许cy.resize()应该有cy.invalidateDimensions()这样的别名,所以很清楚你需要它用于你的用例。