禁用 Firefox 愚蠢的右键单击上下文菜单

CHR*_*RIS 5 html javascript contextmenu

我正在制作一个 HTML 5 游戏,需要使用右键单击来控制播放器。

我已经能够通过执行以下操作来禁用右键单击上下文菜单:

<body oncontextmenu="return(false);">
Run Code Online (Sandbox Code Playgroud)

然后我注意到,如果按住 Shift 并右键单击,Firefox 中仍然会打开上下文菜单!

所以我也通过添加这个 JS 来禁用它:

document.onclick = function(e) { if(e.button == 2 || e.button == 3) { e.preventDefault(); e.stopPropagation(); return(false); } };
Run Code Online (Sandbox Code Playgroud)

但是,如果您按住 Shift 键,然后在 Firefox 中双击鼠标右键,它仍然会打开!

请告诉我如何一劳永逸地禁用这个该死的东西(我什至愿意恢复到一些晦涩的、黑客的、不切实际的解决方案,只要它有效)。

dai*_*chi 2

在所有情况下,您将永远无法完全禁用上下文菜单,因为 Firefox 有一个设置,允许用户告诉浏览器忽略您尝试拉取的此类 hijinx。 注意:我使用的是 Mac,但此设置在所有平台上都位于几乎相同的位置。

话虽这么说,请尝试 event.preventDefault() (请参阅 Vikash Madhow 对另一个 SO 问题的评论: How to disable right-click context-menu in javascript