禁用chrome中的右键单击菜单

时间:2011-07-22 12:13:04

标签: javascript google-chrome

我正在编写一个WebGL游戏,并希望使用右键单击作为控件。但是,它会抛出一个菜单。有可能禁用它吗?我试过了

} 
else if (event.which == 2 || event.which == 3) 
{
    doRightClickControl();
    event.preventDefault();
    event.stopPropagation();

    return false;
}

感谢dknaack提示。我让它像这样工作:

window.oncontextmenu = function(event) {
    event.preventDefault();
    event.stopPropagation();
    return false;
};

2 个答案:

答案 0 :(得分:31)

为此目的使用jQuery只是矫枉过正。这样就可以了:

(function () {
  var blockContextMenu, myElement;

  blockContextMenu = function (evt) {
    evt.preventDefault();
  };

  myElement = document.querySelector('#myElement');
  myElement.addEventListener('contextmenu', blockContextMenu);
})();

myElement可以替换为窗口。

答案 1 :(得分:3)

使用此:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>disable rightclick menu - LabLogic</title>
</head>
<body>
<script language="javascript" type="text/javascript">
  document.oncontextmenu=RightMouseDown;
  document.onmousedown = mouseDown; 

  function mouseDown(e) {
      if (e.which==3) {//righClick
      alert("Disabled - do whatever you like here..");
   }
}
function RightMouseDown() { return false;}
</script>
</body>
</html>

在Chrome 17中测试过,也适用于其他新浏览器