是否可以在Cytoscape.js的节点内建立超链接
Is it possible to make hyperlinks inside nodes in Cytoscape.js?
我希望用户能够单击节点内的一些文本并执行一些操作,例如显示一些对话框或打开其他窗口。这可能吗?
在文档中有类似以下内容:
text-events :如果标签收到事件,事件是否应该发生在元素上;可以是 yes 或 no。您可能希望将样式应用于 :active 上的文本,以便知道文本是可激活的。
这似乎是事情,但没有如何在标签级别使用它的示例。
编辑:示例在图表上
我如何想象它可能在代码中:
label_element.on('tap', function(event){
// cyTarget holds a reference to the label
var evtTarget = event.cyTarget;
//...
});
或
cy.on('tap', function(event){
var evtTarget = event.cyTarget;
//evtTarget holds element but I can somehow get the text which got tap event??
});
根据 Cytoscape.js 文档,您可以尝试使用
cy.on('tap')
喜欢这个:例子
绑定到从与指定节点选择器匹配的元素冒泡的事件:
cy.on('tap', 'node', { foo: 'bar' }, function(evt){
console.log( evt.data.foo ); // 'bar'
var node = evt.cyTarget;
console.log( 'tapped ' + node.id() );
});
绑定到核心接收的所有点击事件:
cy.on('tap', function(event){
// cyTarget holds a reference to the originator
// of the event (core or element)
var evtTarget = event.cyTarget;
if( evtTarget === cy ){
console.log('tap on background');
} else {
console.log('tap on some element');
}
});
在 http://js.cytoscape.org/#cy.on
如果text-events: yes
,点击节点的标签将触发节点上的tap
。
如果您希望在可以独立交互的节点之上具有任意 UI,则应在 DOM 中创建一个单独的层。
理由:在Cytoscape.js中,标签相对简单,因为支持复杂的标签与DOM的复杂程度相同。 在这种情况下,最好将 DOM 用作图顶部的一层,而不是在 Cytoscape.js 中重新实现它。
相关文章:
- 节点导出返回一个空对象
- 可以前端maven插件使用节点,npm已经安装
- 在jstree中,如何将指定的节点集中到大型树上
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- 如何处理node.js节点mongodb中的连接和查询队列
- 将DOM节点值与字符串Javascript进行比较
- 节点fs.stat名称未定义
- 无法安装节点sass相关性
- 节点协同与生成器和Promise并行流量控制
- 实现一个建立在google.com之上的自定义搜索引擎
- 节点.js将变量显示为 HTML
- 将节点数据分配给另一个变量jstree
- 如何在动态创建的节点上绑定函数
- 节点:建立连接时备份 socket.io 自定义发射器
- 是否可以在Cytoscape.js的节点内建立超链接
- Firebase-javascript API 仅在一个触发器中获取满足条件的数据节点.还会为每个查询建立新的 TCP