个人理解: 在ext中每个控件都会有对应的el(element),el有对应的contextmenu event,所以即使Ext.menu.Menu在API 中找不到contextmenu event也可以使用contextmenu event.
eg:
var menu1 = new Ext.menu.Menu({
id: 'menu1',
listeners: {
'render': function(menu) {
//在render后再监听contextmenu事件
menu.mon(menu.el, 'contextmenu', Ext.emptyFn, null, {preventDefault: true});
}
},
items: [{
id: "11",
text: 'testItem1'
},
{
id: "12",
text: 'testItem2'
}]
});
//直接监听contextmenu会报error: menu1.el is undefined,在render后menu1.el才有效
<span style="color:#000000;">menu1 .mon(menu1.el, 'contextmenu', Ext.emptyFn, null, {preventDefault: true});</span>