关于extjs的事件执行 extjs的事件执行流程是怎样的?有一个GridPanel控件绑定了contextmenu 和 cellcontextmenu 事件,每次执行cellcontextmenu 事件的时候都会先执行contextmenu ,能否改变它的执行顺序? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var firstGrid = new Ext.grid.GridPanel({ region : 'center', autoScroll : true, collapsible : true, // 允许伸缩 margins : '0 5 5 0', ddGroup : 'ddGroup', store : firstGridStore, columns : cols, enableDragDrop : true, emableDrop : true, stripeRows : true, keys : gridkeys, tbar : toolbar, autoExpandColumn : 'fileName'});firstGrid.on('contextmenu', tableMenu);firstGrid.on('cellcontextmenu', cellMenu);function cellMenu(grid, rowindex, cellindex, e){ var rd = firstGridStore.getAt(rowindex); var nc = new NodeConstans(); var tempNode = treePanel.getSelectionModel().getSelectedNode(); var rootType = nc.getRootNodeType(tempNode); if (firstGrid.colModel.getDataIndex(cellindex) == 'fileName') { var id = e.getTarget().id; e.preventDefault();// 阻止浏览器默认右键效果 grid.selModel.selectRow(rowindex, true); if (rd.get('type') == type_folder) { if (rootType == nc.NODE_SHARE_ROOT || rootType == nc.NODE_SHARE_USER_ROOT) { shareCFCM.showAt(e.getXY()); } else { cellForderCM.showAt(e.getXY()); } } else { if (rootType == nc.NODE_SHARE_ROOT || rootType == nc.NODE_SHARE_USER_ROOT) { shareCFiCM.showAt(e.getXY()); } else { if(rootType == nc.NODE_GROUP_ROOT) groupCellFileCM.showAt(e.getXY()); else { if(rd.get('property')==0) cellFileCMnoShare.showAt(e.getXY()); else cellFileCM.showAt(e.getXY()); } } } }}function tableMenu(e){ e.preventDefault();// 阻止浏览器默认右键效果 var tempNode = treePanel.getSelectionModel().getSelectedNode(); var nc = new NodeConstans(); var rootType = nc.getRootNodeType(tempNode); if (tempNode.id == -11 || rootType == nc.NODE_SHARE_ROOT || rootType == nc.NODE_SHARE_USER_ROOT) { shareContextmenu.showAt(e.getXY()); } else { contextmenu.showAt(e.getXY());// 在右键点击的地方显示菜单rightClickMenu }} jQuery的animate方法,貌似很卡啊。 图片放大 闭包问题 点击链接后跳转本页链接变色!求段JS代码 让北京js幻灯片图片不裁剪 JScript与VBcript:在使用RecordSet对象的GetRows方法上不同,文中举例说明... 请问有没有办法区分ie、myie、tecent等浏览器? 谷歌浏览器 加载js js中如何弹出文件保存对话框? 一个数组排序的问题 请推荐几本学习JAVASCRIPT的好书 百分向大家请教一个js的问题
var firstGrid = new Ext.grid.GridPanel(
{
region : 'center',
autoScroll : true,
collapsible : true, // 允许伸缩
margins : '0 5 5 0',
ddGroup : 'ddGroup',
store : firstGridStore,
columns : cols,
enableDragDrop : true,
emableDrop : true,
stripeRows : true,
keys : gridkeys,
tbar : toolbar,
autoExpandColumn : 'fileName'
});
firstGrid.on('contextmenu', tableMenu);
firstGrid.on('cellcontextmenu', cellMenu);function cellMenu(grid, rowindex, cellindex, e)
{
var rd = firstGridStore.getAt(rowindex);
var nc = new NodeConstans();
var tempNode = treePanel.getSelectionModel().getSelectedNode();
var rootType = nc.getRootNodeType(tempNode);
if (firstGrid.colModel.getDataIndex(cellindex) == 'fileName')
{
var id = e.getTarget().id;
e.preventDefault();// 阻止浏览器默认右键效果
grid.selModel.selectRow(rowindex, true);
if (rd.get('type') == type_folder)
{ if (rootType == nc.NODE_SHARE_ROOT || rootType == nc.NODE_SHARE_USER_ROOT)
{
shareCFCM.showAt(e.getXY());
} else
{
cellForderCM.showAt(e.getXY());
}
} else
{
if (rootType == nc.NODE_SHARE_ROOT || rootType == nc.NODE_SHARE_USER_ROOT)
{
shareCFiCM.showAt(e.getXY());
} else
{
if(rootType == nc.NODE_GROUP_ROOT)
groupCellFileCM.showAt(e.getXY());
else
{
if(rd.get('property')==0)
cellFileCMnoShare.showAt(e.getXY());
else
cellFileCM.showAt(e.getXY());
}
}
}
}
}function tableMenu(e)
{
e.preventDefault();// 阻止浏览器默认右键效果
var tempNode = treePanel.getSelectionModel().getSelectedNode();
var nc = new NodeConstans();
var rootType = nc.getRootNodeType(tempNode);
if (tempNode.id == -11 || rootType == nc.NODE_SHARE_ROOT || rootType == nc.NODE_SHARE_USER_ROOT)
{
shareContextmenu.showAt(e.getXY());
} else
{
contextmenu.showAt(e.getXY());// 在右键点击的地方显示菜单rightClickMenu
}
}