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

标签 cytoscape.js

我使用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/

相关文章:

vue.js - 如何结合使用cytoscape.js 和vue.js 动态组件的keep-alive?

cytoscape.js - 如何使用 cytoscape.js 保存和恢复复合节点的布局

javascript - 将 JSON 数据导出和导入到 Cytoscape.js

javascript - 如何完全禁用元素事件?

cytoscape.js - 平移启用 : false disable zooming

javascript - 仅选择父节点的子节点,并从图中(暂时)消除 cytoscape.js 中的所有其他节点

javascript - cytoscape.js 禁用抓取和移动节点

cytoscape.js - 在 cytoscape.js 中使用边缘权重进行力导向布局 (CoSE)

javascript - 为什么 Cytoscape 在这种特定情况下会进入 "infinite"循环?

javascript - 将 $http 中的数据共享给其他 Controller 并模块化 $http 调用