Infovis JIT:向边缘添加点击侦听器
Infovis JIT: add click listener to edge
我正试图捕捉一个点击事件在一个日暴图的边缘。我已经捕获了节点上的单击事件。这就是我正在尝试的:
//..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");
}
}
但是这只捕获节点点击。怎么了?
问题是'contains'方法,对于边缘类型'hyperline'(sunburst使用)尚未在infovis库中实现。
库使用Contains方法来判断参数中指定的某个位置是否在边缘内。如果没有contains方法,就无法获取事件。所以,你可以在jit.js中为hyperline类型实现你自己的contains方法,或者你可以简单地在init方法中将'hyperline'的边缘类型更改为'line'。
Edge: {
overridable: true,
type: 'line', //'hyperline'
lineWidth: 2,
color: '#777'
}
您将能够捕获边缘类型为'line'的事件,因为contains方法是为'line'类型定义的。
相关文章:
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- 如何将事件侦听器添加到跨域iframe中的元素中
- 向现有事件侦听器添加功能
- 在 <对象> 标记中加载 SVG 时,将侦听器添加到 SVG 卸载事件
- 如何将侦听器添加到 Angular 指令中
- 将多个事件侦听器添加到一个元素
- 按标记名称将事件侦听器添加到所有文档子项
- 如何将客户端进度侦听器添加到 JSF 2.2 ajax 请求中
- 将侦听器添加到GridPanel中,它's已创建
- 如何将事件侦听器添加到jEditable输入中
- 如何在初始化函数中向事件侦听器添加原型函数
- HERE 地图 (JS v3) - 将事件侦听器添加到信息气泡
- Javascript:如何将事件侦听器添加到CMS的主体中,JS代码在标头中
- 将 on('change') 的事件侦听器添加到 Google 地图信息窗口
- 当事件侦听器作为部分页面的一部分加载时,如何将事件侦听器添加到窗体中
- 将侦听器添加到标记在循环中不起作用
- 反应:将事件侦听器添加到没有包装器 html 标记的道具中
- 将侦听器添加到 jQuery 类集的效率,与使用 $.each 相比
- 将事件侦听器添加到多个元素(不包括一个元素)
- Onsen 2.0 - 使用 Javascript 将事件侦听器添加到 Ons-Switch