在使用Ext.GridPanel过程中,不能同时监听contextmenu、rowcontextmenu事件;如果同时监听,当右键点击行时,就会产生两个右键菜单。
解决方案:
listeners: {
'rowcontextmenu': function(e) {
// 行右键菜单
},
'contextmenu': function(e) {
var rowIndex = this.view.findRowIndex(e.getTarget());
if (rowIndex) {
// 如果当前右键点击的是列表行,那么停止事件
e.stopEvent();
} else {
// 右键菜单
}
}
}