I want to block the standard context menus, and handle the right-click event manually.
How is this done?
42 Answers
Use the oncontextmenu event.
Here's an example:
<div oncontextmenu="javascript:alert('success!');return false;"> Lorem Ipsum </div> And using event listeners (credit to rampion from a comment in 2011):
el.addEventListener('contextmenu', function(ev) { ev.preventDefault(); alert('success!'); return false; }, false); Don't forget to return false, otherwise the standard context menu will still pop up.
If you are going to use a function you've written rather than javascript:alert("Success!"), remember to return false in BOTH the function AND the oncontextmenu attribute.
I think that you are looking for something like this:
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 } And then use the onmousedown even with the function rightclick() (if you want to use it globally on whole page you can do this <body onmousedown=rightclick(); >