我有这个jsfiddle,我试图使用对象键调用不同的函数。
即
var LaneWizard = {
targets: {
Lane: $('.lane-colors span'),
AltLane: $('.alt-lane-colors span')
},
prepTargets: function() {
for(var t in LaneWizard.targets) {
LaneWizard.targets[t].on('click', function() {
LaneWizard['change'+t+'Color']($(this));
});
}
}
}
在该示例中,有两(2)个同心圆。外圈应由第一行(车道颜色)控制,内圈由第二行(备用车道颜色)控制。
我无法弄清楚为什么他们都在改变内圈的颜色。
答案 0 :(得分:1)
值't'始终具有最后一个值。 做这样的事情:
prepTargets: function() {
for(var t in LaneWizard.targets) {
LaneWizard.attachClick(t);
}
},
attachClick: function(t) {
LaneWizard.targets[t].on('click', function() {
LaneWizard['change'+t+'Color']($(this));
});
}