JavaScript:表视图中的按钮

时间:2014-04-07 10:23:16

标签: javascript titanium

我对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();

非常感谢!

1 个答案:

答案 0 :(得分:1)

将按钮的 bubbleParent 属性设置为 false

例如: -

Var info_button =  Titanium.UI.createButton({
        bubbleParent: false
});