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

Mar*_*sse 7 cytoscape.js

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

我想cy.reset(),cy.center()cy.fit(),但鼠标指针位置不会改变.

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

原始页面:

在此输入图像描述

改变<div>立场后

当我移除蓝色面板并且图形<div>向上移动时,鼠标指针位置错误.我使用ng-show指令(使用css hidden/visible). 在此输入图像描述

max*_*anz 5

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

cy.resize(); // notify that the container has changed dims
Run Code Online (Sandbox Code Playgroud)

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

也许cy.resize()应该有一个像这样的别名cy.invalidateDimensions(),这样很明显您需要它用于您的用例。

  • `cy.resize()` 在 2.2.4 中有效,但在 2.2.5 或 2.2.6 中不起作用。除了引用 2.2.4 之外,我没有更改代码中的任何内容。 (3认同)