oncontextmenu
ASP.NET アプリで関数をセルにアタッチします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 では正常に動作しますが、Firefox ではwindow.event.returnValue = false;
実行されません。Firefox がこの戻り値をどのように処理するかを調べたe.preventDefault();
ところ、window.event の insdead を呼び出す必要があることがわかりました。問題は、私の関数e
が未定義であることです。
FF と IE の両方で機能するソリューションを見つけるのを手伝ってくれませんか?
ありがとう