Javascript infovis toolkit(JIT)在超树中添加边缘事件侦听器

Javascript infovis toolkit(JIT)在超树中添加边缘事件侦听器,javascript,graph,infovis,thejit,Javascript,Graph,Infovis,Thejit,我正在努力向Javascript Infovis工具箱库中的HyperTree对象边缘添加边缘事件侦听器。我知道事实上,一切都围绕着“contains”方法,它不是为默认的边类型(即“hyperline”)实现的 我所做的: 我添加了代码 Edge: { overridable: true, type: 'line', lineWidth: 4, color: '#bbb' } 到超树构造函数。

我正在努力向Javascript Infovis工具箱库中的HyperTree对象边缘添加边缘事件侦听器。我知道事实上,一切都围绕着“contains”方法,它不是为默认的边类型(即“hyperline”)实现的

我所做的: 我添加了代码

Edge: {
           overridable: true,
           type: 'line',
           lineWidth: 4,
           color: '#bbb'
      }
到超树构造函数。 我给阿尔多加了一些类似的东西

Events: {
            enable: true,
            enableForEdges: true,
            type: 'Native',
            onClick: function (node, eventInfo, e) 
                if (!node) return;
                alert(node);
                if (node.nodeFrom) {
                   alert("target is a node");
                } else {
                   alert("target is an edge");
                }
            }
         }
跟着。 我确实在Google Chrome调试器中检查过,jit源代码库中的
edgeHelper
对象上触发了
contains
方法。当我单击某个边缘时,所有
包含
调用仅对一个边缘返回
true
,而对其余对象返回
false

注释掉行
enableForEdges
type:'Native'
防止jit
edgeHelper
包含
方法上的aby触发器

但是,如果我在添加的onClick侦听器上放置一个断点,那么每当我在节点外部单击时(无论是在边缘还是在空白处单击),我都会得到
node==false

所以一般的问题是:如何正确地将事件侦听器添加到超树中的边缘


更狭义的问题是:我如何确定,当某行返回true的
包含
时,它实际上会触发onClick侦听器,同时传递一个边,而不是
false
jit.js中有一个bug。我已经提交了一份报告