2012-05-31 11 views
5

Sto cercando di gestire gli eventi della stessa lista, il primo è l'evento itemtap e l'altro è l'evento onItemDisclosure.Firing evento onItemDisclosure provoca evento itemtap al fuoco

Quando tocco la freccia, l'evento onItemDisclosure viene attivato e il gestore viene eseguito, tuttavia, viene eseguito anche il comando itemtap e, dopo l'esecuzione del gestore onItemDisclosure, il gestore itemtap viene eseguito a sua volta.

Come posso risolvere questo?

Vista:

Ext.define('myapp.view.listview', { 
    requires: [ 'myapp.model.listmodel'], 
    extend: 'Ext.List', 
    alias:'widget.listview', 
    id : 'listview', 
    fullscreen: true, 
config: { 

    iconCls: 'list', 


    title : 'List', 
    onItemDisclosure: function() { 
    alert('ok') 

    },    

    store:'ListView', 
    itemTpl:'{title}' 


    } 
}); 

Codice Controller:

Ext.define('myapp.controller.Main', { 
    extend: 'Ext.app.Controller', 
    views : ['listview'], 
    config : { 


    refs:{ 

     list:'#listview' 


    }, 
    control :{ 



     listview:{ 
      itemtap:'display', 
      onItemDisclosure : 'disclosure' 
     } 






    } 
}, 


display:function(){ 
    alert('tap') 
}, 




disclosure:function(){ 
    alert('disclosure'); 
}, 

risposta

0

onItemDisclosure è una struttura di Ext.List - non un evento. Nel controller control, usiamo eventi. Quindi, qui è necessario rivelare l'evento simile all'evento "itemtap". Controlla questo link.

+0

Grazie per avermi corretto, ma ancora i due eventi vengono attivati ​​quando faccio clic sulla freccia. – user1203861

+0

Questa risposta non risolve la domanda; moosekebab's fa – JoshuaDavid

9

È necessario fermare l'evento itemtap continuando a bolla. Per prima cosa sono necessari gli argomenti per la chiamata della funzione, quindi sull'argomento dell'evento che si chiama stopEvent().

disclosure: function(list, record, node, index, event, eOpts) { 
    console.log('disclose');   

    event.stopEvent(); 
}, 
+2

Perché non è questa la risposta selezionata?!? – JoshuaDavid

Problemi correlati