在 jQuery 中,可以将其他变量传递给事件以处理范围问题,如下所示:
$('#element').click({index: i}, function(event){
console.log(event.data.index);
});
我如何在 KineticJS 中执行此操作,因为 on 事件方法不提供此功能?我设法使用数组生成了圆圈,但似乎无法将特定数据传递给每个事件:
var data = [12.22, 34.45, 8.9];
var circles = [];
for(var i in data){
circles[i] = new Kinetic.Circle({
x : Math.random() * stage.getWidth(),
y : Math.random() * stage.getHeight(),
radius : 4,
fill : 'white'
});
circles[i].on('mousemove', {value: data[i]}, function() {
console.log('need to use value for this particular event here');
});
shapesLayer.add(circles[i]);
}