我构建了一个包含容器的Carousel,每个容器有两个项目:一个图像和一个数据视图。点击我想翻转图像以显示数据视图。我的问题是tap事件不会触发正确的元素。它在'img'元素上发射,但不在carous上。
Ext.define('MY.controller.Mycarousel' , {
extend: 'Ext.app.Controller',
requires: [ 'Ext.Img' ],
config: {
refs: {
mycarouselView: '#mycarousel',
},
control: {
mycarouselView: {
activate: 'flipImage', // works
tap: 'flipImage', // doesn't work
},
'img': {
tap: 'flipImage', // works
}
}
},
如何在轮播视图中获取点击事件?
我也尝试过:
Ext.define('MY.controller.Mycarousel' , {
extend: 'Ext.app.Controller',
requires: [ 'Ext.Img' ],
config: {
refs: {
myCarouselDataview: 'dataview'
},
control: {
myCarouselDataview: {
initialize: 'flipImage', // fires
itemsingletap: 'flipImage', // doesn't fire
itemtap: 'flipImage', // doesn't fire
itemtouchstart: 'flipImage' // doesn't fire
},
'img': {
tap: 'flipImage', // fires
},
}
},
如果我点击图像,图像被翻转,数据视图出现,显示其html,但如果我点击它,则不会触发任何事件。这对我来说很神秘......
答案 0 :(得分:1)
点击轮播不起作用,因为Ext.carousel.Carousel没有任何此类事件:
http://docs.sencha.com/touch/2-1/#!/api/Ext.carousel.Carousel
所以必须通过轮播的内容触发tap事件,这是你的情况。