2010-12-16 35 views
10

Extjsコンテキストメニュー(右クリック)をボタンに配置する方法を知りたいと思います。Extjsコンテキストメニュー(右クリック)

私はグーグルを検索しましたが、私はそれをTreePanelに配置する方法しか考えていません。私は、TreePanelにボタンを使って同様のアプローチを試みましたが、運はありませんでした。

答えて

24

コンテキストメニューはフローティングメニューなので、コンテキストメニューイベントを取得してメニューを表示するだけです。ボタンはコンテキストメニューを持っていないので、あなたは直接のHTMLElement(または要素ラッパー)を取得し、コンテキストメニューのイベントに

例を聞くことができます。

contextMenu = new Ext.menu.Menu({ 
    items: [{ 
    text: 'Edit', 
    iconCls: 'edit', 
    handler: edit 
    }] 
}); 

Ext.getCmp('your-button').getEl().on('contextmenu', function(e) { 
    e.preventDefault(); 
    contextMenu.show(Ext.getCmp('your-button').getEl()); 
}); 
+0

感謝を!私はそれをcontextMenuに入れようとしていました:function(){}これは私の悲しみを引き起こしているようでした – neolaser

+1

右クリックと同じ位置にメニューを置くことは可能ですか? – kiltek

+1

@kiltek私はこれが古いことを知っています、同じ問題を抱えていました、この 'contextMenu.showAt(e.getXY()); – weeksdev

関連する問題