Sencha Touch 2:点击容器不起作用(点击按钮工作正常)

Har*_*iec 3 events containers tap sencha-touch sencha-touch-2

我已经阅读了SO问题:控制器按钮Sencha Touch 2 [已解决]实现点击按钮.有用!

不幸的是,我需要点击容器,而不是按钮.一旦我改变xtype:'container'xtype:'button',它就会很好地点击,我会看到console.log消息,所以一切正常.一旦我将其更改回xtype:'container',它就会停止工作,没有console.log消息.

所以,我的问题是:如何让tap事件为我工作xtype:'container'?为什么它仅适用于按钮?我错过了什么吗?

PS据我所知,没有容器的点击事件.那么解决方案是什么?将一个按钮设置为文本和背景的几个字符串是一个解决方案吗?

好的,根据你的答案,目前还不清楚,如何使按钮看起来像容器.容器是上面有两个字符串的图像.这是我的容器:

{
    xtype:'container',
    cls:'home-img',
    id: 'home-img',
    layout : {
        type : 'vbox',
         align: 'middle'
    },
    items:[
          { xtype:'container',
            html:'Your current rate is:'  
          },
          { xtype:'container',
            tpl:'{rate}'
          }
          ],
},
Run Code Online (Sandbox Code Playgroud)

一旦我替换xtype:'container'xtype:'button',我很难显示{rate}参数并且无法创建两个字符串.

小智 24

我不是专业人士,但在这种情况下,我认为你需要一个听众.这对我有用:

Ext.define('RSSFramework.view.ListContainer', {
extend: 'Ext.Container',

config: {
    layout: {
        type: 'fit'
    },
    listeners:[
                 {
                    element: 'element',
                    event: 'tap',
                    fn: function() {
                        console.log('TAP!');
                    }
                }
            ]
}

});
Run Code Online (Sandbox Code Playgroud)

  • 最佳方案.正是OP所要求的 (2认同)