Próbuję obsłużyć zdarzenia na tej samej liście, pierwsza to zdarzenie itemtap, a druga to zdarzenie onItemDisclosure.Wystrzeliwanie zdarzenia onItemDisclosure powoduje wywołanie zdarzenia itemtap.
Po stuknięciu w strzałkę zostaje wywołane zdarzenie onItemDisclosure i wykonywana jest procedura obsługi, jednak uruchamiana jest również itemtap, a po wykonaniu procedury obsługi obiektu onItemDisclosure następuje wykonanie instrukcji obsługi elementu itemtap.
Jak mogę to rozwiązać?
Widok:
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}'
}
});
Kod Kontroler:
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');
},
Dzięki za poprawienie mnie, ale nadal te dwa zdarzenia są uruchamiane po kliknięciu strzałki. – user1203861
Ta odpowiedź nie zawiera odpowiedzi na pytanie; moosekebab ma – JoshuaDavid