Suppressing native right-click menu in FireFox.

Bitlab
Bitlab used Ask the Experts™
on
Hello Experts.

We have a successful example of suppressing right click menu in FireFox in TinyMCE. We attached an image.

How to reproduce this behavior?
Note, we apparently did not modify security settings in FireFox and don't want to.

We tried or looked on following examples for your reference, but were unable to make them working in FireFox:

Thank you.

Examples:
//simple cure from: http://www.w3schools.com/dhtml/tryit.asp?filename=trydhtml_noright
//does not work in FF:
var preventRightClickInFireFox=function(e)
{
      if(e.button===2)
      {
            e.preventDefault();
            e.stopPropagation();
            //alert('no native menu is not disabled yet in FF, we are working on this ...');
            e.cancelBubble = true;
        return false;

      }
}
var preventContentMenuInFireFox=function(e)
{
            e.preventDefault();
            e.stopPropagation();
            e.cancelBubble = true;
console.log('trying to prevent in content menu');
        return false;
}
document.onclick=preventRightClickInFireFox;
//"modern browsers may not let to disable content menu"
//http://stackoverflow.com/questions/381795/how-to-disable-right-click-context-menu-in-javascript

document.onContextMenu=preventContentMenuInFireFox;
//not possible to prevent context menu: http://stackoverflow.com/questions/2274338/is-it-possible-to-disable-right-click-on-an-iframe

//go in depth: https://developer-stage.mozilla.org/en/XUL/PopupGuide/ContextMenus#Hiding_and_Showing_Menu_Items_based_on_Context
*/
 Works in TinyMCE
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
IT Expert
Top Expert 2009
Commented:
if

document.getElementById("someObjectId").oncontextmenu=function() {
  alert('uh-uh');
  return false;
}

does not work, then my guess is no dice.

Author

Commented:
Thanks, mplungjan:

I was wrong. My problem was case-sensitivity in document.oncontextmenu. All works now.

Sample:
<html><head><title>T</title></head><body>

<script type="text/javascript">

stash=window.onload;
window.onload=function()
{
      if(stash)stash();
      
      //This is good, but not enough:
      //document.oncontextmenu=function(){alert('moo');};

      //bad:      document.onContextMenu=function(e)
      document.oncontextmenu=function(e)
      {
            alert('moo');
            e.preventDefault();
            e.stopPropagation();
            e.cancelBubble = true;
            //      console.log('trying to prevent in content menu');
          return false;
      };
};

</script>

</body></html>

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial