【发布时间】:2014-02-09 10:10:42
【问题描述】:
将 JQGrid-4.3.3 与 jquery.contextmenu.js 插件一起使用。
我使用onContextMenu 是为了根据所选行内的特定单元格值动态显示菜单。 (返回真或假)。
问题是显示菜单后,当我右键单击另一行时,为上一行打开的菜单没有关闭。如果我不想显示某一行的菜单并且该菜单之前已打开,则在我在另一行中再次显示该菜单或左键单击页面中的任意位置之前,它无法关闭。
onContextMenu 返回 false 后如何关闭旧菜单?
更新: 这是我的代码:
function createGridContextMenu(grid_)
{
$("tr.jqgrow" , grid_).contextMenu('grid_contextmenu' , {
bindings: {
'item1': function(trigger)
{
}
},
menuStyle: { font:'11px Arial, Verdana, Helvetica',
border: '1px solid #000' ,
width: '130px'
},
itemStyle: { border: 'none', padding: '4px' },
itemHoverStyle: { backgroundColor: '#C0C0C0', border: 'none'},
onContextMenu : function(event, menu)
{
var selected_row_id = $(event.target).parent("tr").attr("id");
var row = grid_.jqGrid('getRowData',selected_row_id);
if(row.status == 1)
{
return false;
}
else
{
grid_.setSelection(selected_row_id, true);
return true;
}
},
onShowMenu: function(event, menu)
{
return menu;
}
});
}
我打电话给createGridContextMenu
里面
loadComplete: function()
{
createGridContextMenu($(this));
},
提前致谢。
【问题讨论】:
-
首先,最好发布您使用的代码。您是在整个网格上还是在单独的行上使用
contextMenu?你使用bindings、onContextMenu、onShowMenu吗?您究竟需要实现哪种行为?您希望上下文菜单在focusout上关闭吗? -
@Oleg:我已经用我的代码更新了我的问题。我认为这正是我所需要的,菜单将在
focusout上关闭,我该如何实现?再次感谢! -
@Oleg:你看到我的问题更新了吗?上下文菜单可以聚焦吗?
-
您应该以其他方式使用上下文菜单。我现在没有多少时间,所以我有问题给你发布另一个使用上下文菜单的例子。稍后我会尝试写下您问题的答案。
-
@Oleg: 好的,谢谢你的帮助!!!
标签: jqgrid contextmenu