2013-04-11 61 views
0

我正在使用Sencha Touch 2应用程序,其中一些按钮是动态创建的,具体取决于从JSON返回的视频数量。对动态创建的按钮设置动作

我已经创建了按钮,但是如何在这些按钮上设置操作。我的意思是如何识别哪个按钮被按下。

通常在配置有:

config: 
     { 
      layout: 'vbox', 
      fullscreen: true, 

      listeners: 
       [ 
        { 
         delegate: '#button1', 
         event: 'tap', 
         fn: 'itemClicked' 
        }, 
       ], 

这一行动将针对 'Button1的' 只设置。例如,我如何设置10个按钮的动作。并在我的行动中,我怎样才能确定哪个按钮被按下。

感谢,

+0

您要为10个按钮或不同的做同样的动作? – Eli 2013-04-11 16:08:21

+0

你是如何创建按钮的?它是一个列表,一个自定义的数据项或其他东西?不用为每个按钮使用'listener'配置,使用'controller'是选择处理事件的好方法。你能发布生成这些按钮的代码吗? – SachinGutte 2013-04-11 16:13:55

回答

0

谢谢你们,

我加入这些按钮在面板上。我解决了它使用此代码:

var b_Panel = Ext.getCmp('bottompanel'); 
for(var i=0; i<20; i++) 
    { 
    var aButton = Ext.create('Ext.Button', 
    { 
     text:'button'+i, 
     margin:8, 
     id:'button'+i, 
     itemId:i, 
     listeners: 
     { 
      tap: function() 
      { 
       console.log("Item ID is: "+this.getItemId()); 
      } 
     } 
    }); 

b_Panel.add(aButton); 

}

感谢,