0

メニューのオプションの1つは、「標準」と見なされます。ほとんどの人がそうであるように、最初のメニュー項目をクリックします。しかし、これらの外部の場合には2番目のオプションがあります。したがって、「一般的な」オプションを2回クリックする必要がない場合は、デフォルトのオプションを備えたボタンメニューが必要です。ボタンのハンドラーは次のようになると思っていました。

  • メニューの表示を停止します(event.stopEvent()成功せずに試しました)。
  • メニュー項目の1つに対してハンドラーを呼び出します。

ただし、ボタンの横に表示されるドロップダウンアイコンをクリックすると、メニューにアクセスできます。

ここでフィドル。

Ext.create('Ext.button.Button', {
    text: 'Pick One',
    menu: {
        items: [{
            text: 'Thing 1!',
            handler: function () {
                alert('foo');
            }
        }, {
            text: 'Thing 2!',
            handler: function () {
                alert('bar');
            }
        }]
    },
    handler: function (theButton, event) {
        //stop the menu from showing
        //event.stopEvent(); //try to stop showing menu, but no luck

        //invoke the handler for menu item 1
        //try to get at handler for menuitem programmatically
        //theButton.menu.items.getAt(0).??? 

        //i'd settle for hard-coding the function
        //alert('foo'); 
    }
});
4

1 に答える 1

1

その場合、分割ボタンを使用する必要があります。

http://docs.sencha.com/ext-js/4-2/extjs-build/examples/build/KitchenSink/ext-theme-neptune/#split-buttons

メニューは、矢印部分をクリックしたときにのみ表示されます。ボタン部分をクリックすると、ボタンハンドラーが起動し、メニューは表示されません。

于 2013-03-26T11:35:27.243 に答える