I want to disable mouse right click on an HTML page. I have a page where user has to enter the details. I don't want the user to see the menu thats get displayed with the mouse right click. Rather I want to display a custom menu. I know there are some plugins available to do that. But my requirement does not need any plugins.
This question is related to
javascript
html
mouse
right-click
window.oncontextmenu = function () {
return false;
}
might help you.
Please do not do that, it is very annoying.
The right menu is there for a reason, and it should be left there. Many browser extensions add entries to the right click menu and the user should be able to use it in any page he visits.
Moreover you can use all of the functionality of the right click menu in other ways (keyboard shortcuts, browser menu etc etc etc) so blocking the right click menu has the only effect of annoying the user.
PS: If really you cannot resist the urge to block it at least do not put a popup saying "no right click allowed".
You can use the oncontextmenu event for doing this.
But if the user turns off javascript then you won't be able to handle this.
window.oncontextmenu = function () {
return false;
}
will disable right click menu.
//Disable right click script via java script code
<script language=JavaScript>
//Disable right click script
var message = "";
///////////////////////////////////
function clickIE() {
if (document.all) {
(message);
return false;
}
}
function clickNS(e) {
if (document.layers || (document.getElementById && !document.all)) {
if (e.which == 2 || e.which == 3) {
(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = clickNS;
} else {
document.onmouseup = clickNS;
document.oncontextmenu = clickIE;
}
document.oncontextmenu = new Function("return false")
</script>
You can do so with Javascript and/or an HTML attribute (which is really a Javascript event handler anyway) as described here: http://www.codeproject.com/KB/aspnet/Disabling_the_right_click.aspx
<script language="javascript">
document.onmousedown=disableclick;
status="Right Click Disabled";
Function disableclick(event)
{
if(event.button==2)
{
alert(status);
return false;
}
}
</script>
and
<body oncontextmenu="return false">
...
</body>
There are plenty of examples of this which can be found via Google
However, users can turn off Javascript to stop this highly annoying "feature". I think you should really think about this before implementing it. It isn't really going to protect your content (if that is what you are trying achieve).
There is an article here that illustrates just how annoying and pointless it is.
<body oncontextmenu="return false;">
works for me in Google Chrome. Not sure about other browsers.
Note, all someone has to do is disable JavaScript in order to see the right-click menu anyway.
Firstly, if you are doing this just to prevent people viewing the source of your page - it won't work, because they can always use a keyboard shortcut to view it.
Secondly, you will have to use JavaScript to accomplish this. If the user has JS disabled, you cannot prevent the right click.
That said, add this to your body tag to disable right clicks.
<body oncontextmenu="return false;">
Try this : write below code on body & feel the magic :)
body oncontextmenu="return false"
Source: Stackoverflow.com