0

这是我从sigma.js获得的一些代码:

function f(event)
    {
        sigInst.iterNodes(function(n){
        node = n;
        },[event.content[0]]);

        alert();
    }


sigInst.bind('click',f).bind('outnodes',f).draw();

我不明白这一点:

  1. 函数从哪里f得到event?没有人通过它。

  2. 线},[event.content[0]]);

我可以向画布元素添加事件吗?sigma.js 绘制了一个画布,然后(我不明白如何)在 and 上有一个事件侦听clickoutnodes。这是怎么发生的?

谢谢

4

2 回答 2

1

函数 f 从哪里获取事件?没有人通过它。

它由bind函数自动发送 - 当处理程序执行时。

行 },[event.content[0]]);

它只是iterNodes函数的一个参数,它是一个大小为 1 的数组,它的值是一个名为 content 的属性,它也是一个数组,所以它采用它的第一个单元格。

于 2013-09-10T17:17:45.233 回答
1

Sigma 使用自己的自定义事件调度程序。正如你在这里看到的:

https://github.com/jacomyal/sigma.js/blob/master/src/classes/eventdispatcher.js#L129

它使用自己的某些参数调度事件。当你bind做某事时,它总是通过某种调度/触发器来执行。如链接中所示,调度/触发器添加了自定义参数,这就是您能够访问content.

于 2013-09-10T17:21:06.290 回答