edt*_*ech 20 grid extjs contextmenu
我可以为树创建上下文菜单并附加到'contextmenu'事件.码:
contextMenu = new Ext.menu.Menu({
items: [{
text: 'Edit',
iconCls: 'edit',
handler: edit
},...]
})
Ext.getCmp('tree-panel').on('contextmenu', function(node) {
contextMenu.show(node.ui.getAnchor());
})
Run Code Online (Sandbox Code Playgroud)
但是我如何为网格元素创建上下文菜单?
小智 26
首先定义上下文菜单
mnuContext = new Ext.menu.Menu({
items: [{
id: 'do-something',
text: 'Do something'
}],
listeners: {
itemclick: function(item) {
switch (item.id) {
case 'do-something':
break;
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
然后为所需事件创建一个侦听器.记住停止事件的默认行为非常重要,这样您就可以用自己的行为替换它.如果不调用event.stopEvent()方法来停止事件冒泡,则无论您执行什么操作,都会显示浏览器的默认上下文菜单.
rowcontextmenu: function(grid, index, event){
event.stopEvent();
mnuContext.showAt(event.xy);
}
Run Code Online (Sandbox Code Playgroud)
嗯,这取决于你想做的事,你可以处理以下哪些GridPanel
相同的方式事件的例子:文本菜单,cellcontextmenu,containercontextmenu,groupcontextmenu,headercontextmenu,rowbodycontextmenu或rowcontextmenu.