gpt4 book ai didi

Firefox 和 IE9 中的 Javascript 事件

转载 作者:行者123 更新时间:2023-11-30 05:58:59 25 4
gpt4 key购买 nike

我在我的 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 上可以正常工作,但在 Firefox 上 window.event.returnValue = false;它没有被执行。我四处搜索以查看 Firefox 如何处理此返回值,我知道我应该调用 e.preventDefault(); insdead of window.event。问题是在我的函数中 e 是未定义的。

你能帮我找到一个同时适用于 FF 和 IE 的解决方案吗?

谢谢

最佳答案

您可以重构您的代码以使用 jQuery,它适用于所有浏览器 例如:

$('body').bind('contextmenu', function(e) {
//Stop browser from opening context menu
e.preventDefault();
//Do more stuff
});

关于Firefox 和 IE9 中的 Javascript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10011160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com