36 votes

Désactiver le menu du clic droit dans chrome

J'écris un jeu WebGL et je veux utiliser le clic droit comme contrôle. Cependant, un menu s'affiche. Est-il possible de le désactiver ? J'ai essayé

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

    return false;
}

Merci dknaack pour l'astuce. J'ai réussi à le faire fonctionner comme ceci :

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

32voto

bennedich Points 4745

Utiliser jQuery dans ce seul but est excessif. Ceci fera l'affaire :

(function () {
  var blockContextMenu, myElement;

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

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

myElement peut être remplacé par window.

3voto

LabLogic Points 99

Utilisez ça :

<!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>

Testé dans chrome 17, fonctionne également avec les autres nouveaux navigateurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X