Javascript 在AppAccelerator中设置View和TextView的ID
我正在为创建随机文本区域创建一个for,但我需要知道用户按下了哪个文本区域 有没有办法为每个文本区域输入唯一的ID 如何创建文本视图:Javascript 在AppAccelerator中设置View和TextView的ID,javascript,textarea,appcelerator,Javascript,Textarea,Appcelerator,我正在为创建随机文本区域创建一个for,但我需要知道用户按下了哪个文本区域 有没有办法为每个文本区域输入唯一的ID 如何创建文本视图: var txtArea = Ti.UI.createTextArea({ color : '#000', backgroundColor : 'transparent', font: { fontSize : 28, fontWeight : 'normal', }, editable : false, textAlign
var txtArea = Ti.UI.createTextArea({
color : '#000',
backgroundColor : 'transparent',
font: {
fontSize : 28,
fontWeight : 'normal',
},
editable : false,
textAlign : 'left',
value : a[i],
textAlign : 'center',
top : '30%',
width : '100%',
height : '100%'
});
我试图输入“id:I”,但所有textAreas都返回相同的id。如果要分配数字id,方法是正确的,但我认为必须在表视图的行中插入所有textAreas。这是因为您从表视图行而不是从Textarea获取ID。如果在表视图行中插入,则id的尝试是正确的 创建文本区域的代码如下所示:
var txtArea = Ti.UI.createTextArea({
id: i,
value : "test n " + i,
textAlign : 'left',
textAlign : 'center',
top : '30%',
width : '100%',
height : '100%'
});
此外,您还可以获得每行的id
,只需添加一个单击事件侦听器,在特定情况下:
tableViewRowName.addEventListener('click', function(e) {
console.log(e.source.id);
}
让我知道如果工作,不要犹豫与我联系
完整示例
在控制器js中
var-win=Ti.UI.createWindow();
var scrollableView=Ti.UI.createScrollView();
var table=Ti.UI.createTableView();
var tableData=[];
对于(var i=0;i不建议将自定义属性添加到钛代理中。以下是我将要做的(基于我对您尝试实现的目标的猜测):
for(变量i=0;i<10;i++){
var txtArea=Ti.UI.createTextArea({
值:“测试n”+i,
textAlign:'左',
textAlign:'中心',
前三名:“30%”,
宽度:“100%”,
身高:“100%”
});
(功能(){
var id=i;
txtArea.addEventListener('click',function(){
console.log(id);
});
})();
}
我已将我的textarea放在ScrollView中。这可能是不工作的原因吗?请尝试将tableview放在ScrollView中。对于get id,必须在tableview中插入textarea…如果您有ScrollView没有问题。那么它将类似于:for(int I=0;Ivar win = Ti.UI.createWindow();
var scrollableView = Ti.UI.createScrollView();
var table = Ti.UI.createTableView();
var tableData = [];
for(var i=0;i<list.length;i++){
var row = Ti.UI.createTableViewRow();
var txtArea = Ti.UI.createTextArea({
id: i,
value : "test n " + i,
textAlign : 'left',
textAlign : 'center',
top : '30%',
width : '100%',
height : '100%'
});
row.add(txtArea);
tableData.push(row);
}
table.setData(tableData);
scrollableView.add(table);
win.add(scrollableView);
win.open();
for(var i = 0; i < 10; i++){
var txtArea = Ti.UI.createTextArea({
value : "test n " + i,
textAlign : 'left',
textAlign : 'center',
top : '30%',
width : '100%',
height : '100%'
});
(function(){
var id = i;
txtArea.addEventListener('click',function(){
console.log(id);
});
})();
}