Je souhaite bloquer les menus contextuels standard et gérer manuellement l'événement de clic droit.
Comment est-ce fait?
Utilisez l'événement oncontextmenu
.
Voici un exemple:
<div oncontextmenu="javascript:alert('success!');return false;">
Lorem Ipsum
</div>
Et en utilisant les écouteurs d'événement:
el.addEventListener('contextmenu', function(ev) {
ev.preventDefault();
alert('success!');
return false;
}, false);
N'oubliez pas de renvoyer false, sinon le menu contextuel standard apparaîtra toujours.
Si vous allez utiliser une fonction que vous avez écrite plutôt que javascript:alert("Success!")
, n'oubliez pas de renvoyer false dans les DEUX fonctions ET l'attribut oncontextmenu
.
Je pense que vous cherchez quelque chose comme ça:
function rightclick() {
var rightclick;
var e = window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
alert(rightclick); // true or false, you can trap right click here by if comparison
}
( http://www.quirksmode.org/js/events_properties.html )
Et utilisez ensuite onmousedown même avec la fonction rightclick () (si vous voulez l’utiliser globalement sur toute la page, vous pouvez le faire <body onmousedown=rightclick(); >