如何在Sencha Touch中为表格单元格添加点击事件?

时间:2012-03-01 14:41:07

标签: data-binding sencha-touch

我有一个dataView,我将数据绑定到表。这是一个复杂的数据,我必须为每个表格单元绑定click事件。我不知道如何在Sencha Touch中完成这项工作,但jQuery和jQMobile也是如此。

这是我的代码。

var touchTeam = Ext.create('Ext.DataView', {
        fullscreen: true,
        items:[{
            xtype:'toolbar',
            title:'Dashboard',
            docked:'top',
            items:[{
                iconCls:'home',
                iconMask:true,
                ui:'confirm'
            },{
                xtype:'spacer'
            },{
                xtype:'button',
                text:'Logout',
                ui:'decline',
                handler:function(){
                    Ext.Msg.confirm('ALERT','Are you sure that you want to logout?',Ext.emptyFn);
                }
            }]
        },{
            xtype:'toolbar',
            docked:'bottom'
        }],
        store: {
            fields: ['AAAA', 'BBBB', 'CCCC', 'DDDD', 'EEEE'],
            data: [
                {AAAA: 'TableRow1',  BBBB: 0,CCCC:4,DDDD:2,EEEE:0},
                {AAAA: 'TableRow2',  BBBB: 0,CCCC:0,DDDD:0,EEEE:0},
                {AAAA: 'TableRow3',  BBBB: 0,CCCC:0,DDDD:0,EEEE:0},
                {AAAA: 'TableRow4',  BBBB: 0,CCCC:0,DDDD:0,EEEE:0},
            ]
        },
        itemTpl:'<table border="0" cellpadding="5" cellspacing="5" style="width:100%; margin-top:10px;"><tr><td style="width:20%; text-align: center;">{AAAA}</td><td style="width:20%; text-align: center;">{BBBB}</td><td style="width:20%; text-align: center;">{CCCC}</td><td style="width:20%; text-align: center;">{DDDD}</td><td style="width:20%; text-align: center;">{EEEE}</td></tr></table>'
    });

2 个答案:

答案 0 :(得分:2)

您需要将“itemtap”侦听器附加到Dataview。在函数内部,您必须检查目标元素。

listeners : {
    scope : this,
    itemtap : function(dataview, index, el, record, e){
        //Browser event e
        console.log(e.target, el);
    }
}

答案 1 :(得分:1)

如果您使用的是javascript,则可以通过添加此

<td>中执行此操作
'<td class="width" style="color:black;" onClick="javascript:nameTaps">{Name}</td>',