使用 vis.js 使节点可单击

Make nodes clickable with vis.js

本文关键字:单击 节点 vis js 使用      更新时间:2023-09-26

是否可以使节点的标签ahref可点击?

http://visjs.org/docs/network/#modules

这是一个古老的问题,但这个答案可能对任何找到它的人都有帮助。

您无法从 visjs 节点的标签作为标签进行导航,因为:

标签是节点内或节点下显示的文本片段,具体取决于形状。

但是,您可以通过在节点上声明具有 URL 值的属性并使用全局方法 on() 和网络事件(例如双击)来启用节点本身的导航。

 var nodes = new vis.DataSet([
           {id: '1', label: 'Google', shape: 'box', url: 'https://www.google.ie'}
        ]);
 var data = {nodes: nodes};
 var container = document.getElementById('vis');
 var options = {};
 var network = new vis.Network(container, data, options);
 network.on("doubleClick", function (params) {
   if (params.nodes.length === 1) {
     var node = nodes.get(params.nodes[0]);
     if(node.url != null) {
       window.open(node.url, '_blank');
     }
    }
 });

您的问题标题与问题文本无关,因为使节点"可单击"和使节点实际导航到另一个页面是不同的问题。

标签是不可能的,因为它们是在HTML5 Canvas上绘制的,而不是DOM上绘制的。不过,您可以将HTML链接放在节点和边缘的标题中。