cytoscape.js - 如何获取 cytoscape.js 中单击节点的 ID?

标签 cytoscape.js

文档中的这个例子:

  cy.on('click', function(evt){
      console.log( 'clicked ' + this.id() );
});

结果是:
Uncaught TypeError: Object [object Object] has no method 'id' 

并且 evt.cyTarget.data() 返回未定义。

最佳答案

.id() 函数适用于元素,但您的事件处理程序中没有元素。您在没有任何委托(delegate)元素选择器的情况下绑定(bind)到核心,因此您绑定(bind)到核心本身——这意味着对 this 的引用指向 cy .

这可能是你的意思:

cy.on('click', 'node', function(evt){
      console.log( 'clicked ' + this.id() );
});

关于cytoscape.js - 如何获取 cytoscape.js 中单击节点的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14738517/

相关文章:

javascript - 如何设置边缘跳过另一条边缘?

javascript - Cytoscape.js - 如何为复合节点使用一种布局,为复合节点的子节点使用另一种布局

javascript - 使用 d3 或 cytoscape 渲染家谱

javascript - cytoscape.js 访问对象

javascript - 如何在 Cytoscape.JS 节点内容中设置多个文本行?

javascript - cytoscape js 通过选择器遍历节点

css - 如何在 cytoscape.js 的节点上定位文本

cytoscape.js - 图形中的弹性(动画)边,节点对邻居施加引力?

javascript - 获取没有边的节点