メニューのオプションの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');
}
});