2013-04-11 56 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); 

}

感謝,