Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按钮上的Extjs上下文菜单(右键单击)_Extjs - Fatal编程技术网

按钮上的Extjs上下文菜单(右键单击)

按钮上的Extjs上下文菜单(右键单击),extjs,Extjs,我想知道如何将Extjs上下文菜单(右键单击)放到按钮上 我搜索过谷歌,但我似乎只知道如何把它放到树上。我尝试了一种类似的方法来使用带有按钮的树面板,但没有成功。上下文菜单只是浮动菜单,所以只需抓取上下文菜单事件并显示菜单即可。由于按钮没有contextmenu,因此可以直接获取htmlelement(或元素包装器)并侦听contextmenu事件 例如: contextMenu = new Ext.menu.Menu({ items: [{ text: 'Edit', ic

我想知道如何将Extjs上下文菜单(右键单击)放到按钮上


我搜索过谷歌,但我似乎只知道如何把它放到树上。我尝试了一种类似的方法来使用带有按钮的树面板,但没有成功。

上下文菜单只是浮动菜单,所以只需抓取上下文菜单事件并显示菜单即可。由于按钮没有contextmenu,因此可以直接获取htmlelement(或元素包装器)并侦听contextmenu事件

例如:

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());
});

谢谢我试图把它放在contextMenu:function(){}上,这似乎让我感到不安。有没有可能将菜单定位到与右键单击相同的位置?@kiltek我知道这是旧的,有相同的问题,像这样修复
contextMenu.showAt(e.getXY())