我对TableViewRow中的按钮有问题 - 使用 info_button 。对于cyklus,在TableViewRow的每一行上创建此按钮。当我点击它,它工作正常,打开警报对话框,因为我想,但然后它还打开属于tableView行的代码。 (我剪掉了不重要的一段代码,所以可能会出现一些错误,但效果很好)
var url = "http://hotel.010.sk/skyfit/mysql.php";
var win = Titanium.UI.currentWindow;
var table = Ti.UI.createTableView();
var tableData = [];
var json, harmonogram, vypis, i, row, nameLabel, nickLabel, cvicenie, harmon, backLabel;
var xhr = Ti.Network.createHTTPClient({
onload: function() {
// Ti.API.debug(this.responseText);
json = JSON.parse(this.responseText);
for (i = 0; i < json.harmonogram.length; i++) {
vypis = json.harmonogram[i];
row = Ti.UI.createTableViewRow({
height:80,
hasChild:true,
url:'tab1.js'
});
var info_button = Titanium.UI.createButton({
style:Titanium.UI.iPhone.SystemButton.DISCLOSURE,
right: '5dp',
top: 5,
//buttonid : i
id: "image"
});
这是我的info_button,我只需要打开这段代码
info_button.addEventListener('click', function(e) {
var about = Titanium.UI.createAlertDialog({
title: 'O cvičení',
message: vypis.nazov,
buttonNames: ['OK']
});
about.show();
});
//here is CODE for some LABELS, its not important for my problem
row.add(nameLabel);
row.add(nickLabel);
row.add(info_button);
tableData.push(row);
};
table.setData(tableData);
},
onerror: function(e) {
Ti.API.debug("STATUS: " + this.status);
Ti.API.debug("TEXT: " + this.responseText);
Ti.API.debug("ERROR: " + e.error);
alert('There was an error retrieving the remote data. Try again.');
},
timeout:5000
});
xhr.open("GET", url);
xhr.send();
它还打开了这个Listener,如果用户点击它,我只需要打开info_button。
**table.addEventListener**('click', function(e) {
//here is code for Listener
});
win.add(table);
win.open();
非常感谢!
答案 0 :(得分:1)
将按钮的 bubbleParent 属性设置为 false 。
例如: -
Var info_button = Titanium.UI.createButton({
bubbleParent: false
});