2012-01-09 3 views
5

Come aggiungerei un evento click per ogni tag di collegamento in questo diverso dall'edificio in onclick=.... nell'XTemplate?Come si collegano gli eventi click agli elementi del template ExtJS?

new Ext.XTemplate(
    '<ul>', 
    '<tpl for="."><li><a href="#{anchor}">{text}</a></li></tpl>', 
    '</ul>' 
).overwrite('someElement', [ 
    { text: 'Click me', anchor: '1' }, 
    { text: 'No, click me', anchor: '2'} 
]); 
+0

Potete fornire più codice? Dipende dal controllo. – Krzysztof

risposta

7

La risposta breve è, non è così. Invece, si dovrebbe utilizzare la delega evento:

Ext.get('someElement').on('click', function(event, target) { 
    console.log(target); 
}, null, {delegate: 'a'}); 

Questo ha 2 vantaggi principali:

  1. Hai solo bisogno di associare un singolo ascoltatore
  2. che funzionerà come si modifica dinamicamente il contenuto
+0

In realtà ho dovuto usare Ext.select perché stavo lavorando su un selettore CSS invece di un ID di un singolo nodo, ma il principio ha funzionato. –

+0

Come posso aggiungere un evento se uso tpl on panel, non dataview? – digz6666