下面是一些来自sigma.js的代码
function f(event)
{
sigInst.iterNodes(function(n){
node = n;
},[event.content[0]]);
alert();
}
sigInst.bind('click',f).bind('outnodes',f).draw();我不明白这一点:
f从哪里获得event?没人能通过。},[event.content[0]]);我可以将事件添加到画布元素中吗?sigma.js画了一个画布,然后(我不明白为什么)在click和outnodes上有一个事件侦听器。这是怎么发生的?
谢谢
发布于 2013-09-10 17:17:45
函数f从哪里得到事件?没人能通过。
它由bind函数在执行处理程序时自动发送。
[event.content]);
它只是iterNodes函数的一个参数,它是一个大小为1的数组,它具有一个名为content的属性的值,它也是一个数组,因此它使用它的第一个单元格。
发布于 2013-09-10 17:21:06
Sigma使用自己的自定义事件调度程序。如你所见:
https://github.com/jacomyal/sigma.js/blob/master/src/classes/eventdispatcher.js#L129
它用自己的某些参数分派事件。当您对某物进行bind时,它总是通过某种分派/触发器来执行。从链接中可以看到,调度/触发器添加了自定义参数,这就是您能够访问content的原因。
https://stackoverflow.com/questions/18725118
复制相似问题