Events Sencha Touch 2:轻敲容器和#x27;t工作(点击按钮工作正常)

Events Sencha Touch 2:轻敲容器和#x27;t工作(点击按钮工作正常),events,sencha-touch,sencha-touch-2,containers,tap,Events,Sencha Touch,Sencha Touch 2,Containers,Tap,我已经阅读了实现点击按钮的方法。它起作用了 不幸的是,我需要点击容器,而不是按钮。一旦我将xtype:“container”更改为xtype:“button”,它会点击fine,我会看到控制台.log消息,所以一切正常。一旦我把它改回xtype:'container',它就停止工作了,没有console.log消息 所以,我的问题是:如何使tap事件为我的xtype:'container'工作?为什么它只适用于按钮?我错过什么了吗 另外,据我所知,集装箱没有轻敲事件。那么解决办法是什么呢?制作一

我已经阅读了实现点击按钮的方法。它起作用了

不幸的是,我需要点击容器,而不是按钮。一旦我将
xtype:“container”
更改为
xtype:“button”
,它会点击fine,我会看到
控制台.log
消息,所以一切正常。一旦我把它改回
xtype:'container'
,它就停止工作了,没有
console.log
消息

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

另外,据我所知,集装箱没有轻敲事件。那么解决办法是什么呢?制作一个包含多个文本字符串和背景的按钮是一个解决方案吗

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

{
    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}'
          }
          ],
},

一旦我将
xtype:'container'
替换为
xtype:'button'
,我就很难显示{rate}参数,无法生成两个字符串。

我不是sencha touch的专业人士,但在这种情况下,我认为您需要元素的侦听器。 这对我来说很有用:

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

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

});

在Sencha中,容器没有可用的
tap
事件。容器的工作原理基本上类似于可以容纳不同内部组件/元素的东西。然而,如果您希望在容器上放置一个点击事件,您确实可以解决这个问题。正如您所提到的,您可以继续创建一个按钮,设置背景,并设置一些字符串(但这不是按钮的用途)。或者,您可以使用所需的字符串和背景设置HTML,将其设置为div并在其上设置Onclick事件

最佳解决方案。这是一个比所选方案更好的解决方案。非常感谢您的代码。它确实帮助了我“注意:在使用Ext.define()定义类时,指定侦听器的配置是一种不好的做法。相反,在使用Ext.create()实例化类时,只指定侦听器。”是的,它像一个符咒一样工作-奇怪为什么这样做是不好的做法?请注意,如果“element:'element'”容器中有一个组件,点击该组件不会触发函数,相反,配置需要是元素:“innerElement”,