Отключить контекстное меню в хром - программирование

Отключить контекстное меню в хром

Я пишу aWebGL-игру и хочу использовать правую кнопку мыши в качестве элемента управления. Однако он выдает меню. Можно ли отключить это? Я пробовал

} 
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;
};
4b9b3361

Ответ 1

Использование jQuery для этой цели только является излишним. Это сделает трюк:

(function () {
  var blockContextMenu, myElement;

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

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

myElement можно заменить окном.

Ответ 2

Используйте это:

<!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, также работает с другими новыми браузерами