使用 Javascript 在 Firefox 中禁用 Shift + 右键单击

asu*_*and 5 html javascript right-click

我正在开发一款 RTS 游戏,您可以在其中选择单位并右键单击以让它们移动到某个地方。您还可以通过右键单击来排列您希望单位前往的点列表。

在除 FF 之外的所有浏览器中,这都运行良好。

然而,在 Firefox 中,右键单击会触发上下文菜单(右键单击而不使用 shift 不会)。我正在处理 contextmenu 事件并调用 preventDefault 但当按住 shift 按钮时,这在 FF 中似乎没有任何作用。

有什么办法可以阻止 FF 中的这种行为?

我的游戏在这里:https : //mod.it/4plhXo3l 和第 36 行 RTSBoard.js 文件中的相关代码。

Nex*_*xim 3

我设法在 Firefox 中实现此功能,方法是将 event.shiftKey 设置为 false,然后调用 PreventDefault() 和 stopPropagation(),然后返回 false。然后,我将文档模型的 onclick 事件和 ondblclick 事件设置为您最终使用的相同函数,并将 Shift 键的添加设置设置为 false。我还必须对 mouseup 事件执行此操作,因为单击和拖动也会导致弹出上下文菜单。

我不确定它是否可以完全 100% 禁用,但这看起来是最接近的。