使用Titanium Appcelerator我试图动态创建元素并使用循环向它们添加事件侦听器。这是我目前的代码:
for(i=0;i<7;i++){
testLabels[i] = Titanium.UI.createLabel({
borderRadius: 35,
text:'hello',
textAlign:'center',
width:70,
height: 70,
top: '13%',
left:140,
touchEnabled: true
});
testLabels[i].addEventListener('click',function(e){
//do something
}
}
当我运行时,我收到以下错误:
Can't find variable: testLabels.
我感兴趣的是它找不到的变量不是“testLabels1”,这对我来说意味着循环没有触发......任何想法?
谢谢!
当我将“var”放在标签声明前面时,Titanium不喜欢它。
答案 0 :(得分:4)
试试这个
var testLabels = [];
for(var i=0; i<7; i++ ) {
testLabels[i] = Titanium.UI.createLabel({
borderRadius: 35,
text:'hello',
textAlign:'center',
width:70,
height: 70,
top: '13%',
left:140,
touchEnabled: true
});
(function(label) {
label.addEventListener('click',function(e){
//do something
}
}(testLabels[i]));
}