我正在尝试捕获旭日图边缘的点击事件。我已经捕获了节点上的点击事件。这就是我正在尝试的:
//..sunburst example code
Events: {
enable: true,
enableForEdges: true,
type: 'Native',
onClick: function(node, eventInfo, e){
if (!node) return;
if(node.nodeFrom){
console.log("target is an edge");
}else{
console.log("target is a node");
}
}
但这仅捕获节点点击。怎么了?
先感谢您。
问题是,对于边缘类型“超线”(sunburst 使用的),“包含”方法尚未在 infovis 库中实现。
库使用 Contains 方法来了解参数中指定的某个位置是否在边缘内。如果没有 contains 方法,则无法获取事件。
因此,您可以在 jit.js 中实现自己的超线类型 contains 方法,也可以简单地将 init 方法中的边缘类型从“hyperline”更改为“line”。
Edge: {
overridable: true,
type: 'line', //'hyperline'
lineWidth: 2,
color: '#777'
}
您将能够捕获边缘类型“线”的事件,因为 contains 方法是为“线”类型定义的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)