我在javascript中开发了一款适用于钛金属手机的应用。 动态菜单将每个新对象(id,text,....,page)插入到循环中(选项卡中的var x)。
使用这些项目,可以查看具体视图。
var items = []; var menuIconsItem = require('view / module / menuIconsItem');
for(var i in itemTab) {
var page = itemTab[i].page;
items[i] = new menuIconsItem(itemTab[i]);
menuFirstLine.add(items[i]);
(function(itemsEvent) {
itemsEvent.addEventListener('click', function() {
Ti.App.fireEvent('test' +i, {
id : i
});
})
})(items[i]);
}
在另一个控制器端,我只得到最后一个id引用。
如果i = 0到5,我只得到最后一个参考。其余的未定义。
我该怎么办?
答案 0 :(得分:3)
首先你必须为你的menuIconsItem设置id
,我在这里以按钮为例。
items[i] = Titanium.UI.createButton({
id:"button_"+i,
_index: i
})
然后这样做:
(function(itemsEvent) {
itemsEvent.addEventListener('click', function(e) {
alert(e.source.id);
})
})(items[i]);