use*_*861 5 listview extjs mobile-website sencha-touch
我正在尝试处理同一列表上的事件,第一个是itemtap事件,另一个是onItemDisclosure事件.
当我点击箭头,将onItemDisclosure事件被触发,处理程序执行,但是,itemtap被激发,以及和onItemDisclosure处理程序执行后,又执行itemtap处理程序.
我怎么解决这个问题?
查看:
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}'
}
});
Run Code Online (Sandbox Code Playgroud)
控制器代码:
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');
},
Run Code Online (Sandbox Code Playgroud)
小智 9
你需要阻止itemtap
事件继续冒泡.首先,您需要函数调用的参数,然后是您调用的事件参数stopEvent()
.
disclosure: function(list, record, node, index, event, eOpts) {
console.log('disclose');
event.stopEvent();
},
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1975 次 |
最近记录: |