3

私は SO の質問を読みました: Controller for Buttons Sencha Touch 2 [解決済み]ボタンのタップを実現します。できます!

残念ながら、ボタンではなくコンテナをタップする必要があります。を に変更xtype:'container'するとxtype:'button'、正常にタップされ、console.logメッセージが表示されるので、すべて正常に動作します。に戻すとxtype:'container'、動作しなくなり、console.logメッセージは表示されません。

だから、私の質問は次のとおりです。タップイベントを私のものにする方法はxtype:'container'?ボタンのみで機能するのはなぜですか?何か不足していますか?

PS私が見る限り、コンテナのタップイベントはありません。解決策は何ですか?テキストと背景のいくつかの文字列を持つボタンを作成することは解決策になりますか?

OK、あなたの答えに基づいて、ボタンをコンテナのように見せる方法はまだ不明です。コンテナーは、上に 2 つの文字列があるイメージです。これが私のコンテナです:

{
    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} パラメータを表示するのが難しくなり、2 つの文字列を作成できなくなります。

4

2 に答える 2

24

私は煎茶タッチのプロではありませんが、この場合、要素にリスナーが必要だと思います。これは私のために働くものです:

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

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

});
于 2013-06-11T10:16:27.467 に答える
3

Sencha ではtap、コンテナで使用できるイベントはありません。コンテナは基本的に、さまざまな内部コンポーネント/要素を保持できるもののように機能します。ただし、コンテナにタップ イベントを配置する場合は、実際に回避策を講じることができます。あなたが言及したように、先に進んでボタンを作成し、背景を設定し、いくつかの文字列を設定することができます (ただし、それはボタンを使用する目的ではありません)。または、目的の文字列と背景を使用して HTML を設定し、それを div にして Onclick イベントを設定することもできます。

于 2013-06-11T10:22:03.757 に答える