我使用cytoscape.js 2.2.5在angular.js应用程序中绘制图形,我可以正确选择节点。当带有图形的<div>
移动时, Canvas 上的鼠标指针位置不会更新。这意味着我必须单击节点的“旧”位置以将其选中。
我尝试了cy.reset()
,cy.center()
和cy.fit()
,但是鼠标指针的位置没有改变。
更改cytoscape <div>
的位置后,如何更新图形?
原始页面:
更改<div>
位置后
当我卸下蓝色面板并且图形<div>
向上移动时,鼠标指针位置错误。我使用ng-show指令(使用CSS隐藏/可见)。
最佳答案
当您调整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()
的别名,因此很明显,您需要在用例中使用它。关于cytoscape.js:更改容器后鼠标指针位置错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23461322/