我有一个节点列表,我将使用 raphael 对象绘制每个节点。我有以下循环:
for(var i=0; i<curNodes.length; i++){
var node = curNodes[i];
var obj = paper.rect(node.getX(), node.getY(), node.width, node.getHeight())
.attr({fill:nodes[i].getColor(), "fill-opacity": 0.6})
.click(function(e){ onMouseClicked(i,e); });
}
单击时,我想调用一个函数,该函数可以查看与 curNodes 数组的“i”个元素关联的一些数据。但是,始终将最后一个“i”传递给此函数。我的功能是:
var onMouseClicked = function(i, event){
switch (event.which) {
case 1:
this.attr({title: curNodes[i].name});
break;
}
}
调用函数时应该如何访问正确的索引?