[img]http://dl.iteye.com/upload/picture/pic/74330/7cabba2f-5127-3ca8-befb-3671a9cf9734.png[/img]
这是我正常时的右键菜单(实际上也就一个copy的子项),多次点击的时候出现一些问题
[img]http://dl.iteye.com/upload/picture/pic/74328/986bae73-e156-3ff0-a82a-db15b25338db.png[/img]
看,竟然凭空多出一个一模一样的子项,也可以用。我后来再点击右键菜单出来后,alert它的子项数量,alert出来的是1,可以视图上看有三个,有四个。。。
[img]http://dl.iteye.com/upload/picture/pic/74332/bb1d8755-2370-331f-96e6-563bd97c03d1.png[/img]
[img]http://dl.iteye.com/upload/picture/pic/74334/e9abcd8a-fd65-3c76-ac80-59dc34653b7e.png[/img]
我搞不定,代码如下:
[code="java"]
adaptergrid.on('rowcontextmenu', rightClickFn);
var rightClick = null;
function rightClickFn(grid,rowIndex,e){
e.preventDefault();
if(Ext.getCmp('rMenu1')){
rightClick.items.remove(Ext.getCmp('rMenu1'));
}
rightClick = new Ext.menu.Menu({
id:'rightClickCont',
items: [
{
id: 'rMenu1',
scope:this,
text: 'copy',
handler:function(){copy(grid,rowIndex,e);}
}
]
});
rightClick.showAt(e.getXY());
alert(rightClick.items.length);
}
function copy(grid,rowIndex,e){
var record = grid.getStore().getAt(rowIndex);
var adapter = record.data.adapter;
var server = record.data.server;
var impaction = record.data.impaction;
var status = record.data.status;
var checkedTime = record.data.checkedTime;
var str = "Adapter : " + adapter + "" +
"Server : " + server + "" +
"Status : " + status + "" +
"Impaction : " + impaction + "" +
"checkedTime : "+checkedTime;
window.clipboardData.setData('text',str);
for(var i=0;i<rightClick.items.length;i++){
//rightClick.remove(rightClick.items)
alert(rightClick.items.length);
rightClick.items.remove(Ext.getCmp('rMenu1'));
alert(rightClick.items.length);
}
}
[/code]