我在我的 ASP.NET 应用程序中将oncontextmenu
一个函数附加到一个单元格string.Format("OnCellContextMenu({0}, '{1}', true, true)", e.VisibleIndex, e.DataColumn.FieldName)
。
在我的 JS 中,我定义了以下函数。
function OnCellContextMenu(visibleIndex, fieldName, hasNote, hasValue) {
currentVisibleIndex = visibleIndex;
currentFieldName = fieldName;
if (fieldName == "Name" || fieldName == "TOTAL") {
EnableMenuItem('AddNote', false);
EnableMenuItem('EditNote', false);
EnableMenuItem('RemoveNote', false);
}
else {
EnableMenuItem('AddNote', !hasNote && hasValue);
EnableMenuItem('EditNote', hasNote);
EnableMenuItem('RemoveNote', hasNote);
}
window.event.returnValue = false;
gvPrevisions.SetFocusedRowIndex(visibleIndex);
GridMenu.ShowAtPos(ASPxClientUtils.GetEventX(event), ASPxClientUtils.GetEventY(event));
}
现在,在 IE 上可以正常工作,但在 Firefoxwindow.event.returnValue = false;
上没有执行。我四处搜索,看看 Firefox 是如何处理这个返回值的,我知道我应该调用e.preventDefault();
insdead 的 window.event。问题是在我的函数e
中是未定义的。
你能帮我找到一个适用于 FF 和 IE 的解决方案吗?
谢谢