Question

I'm in the process of porting an app to JavaScript/CSS and it uses right-click. For some reason Firefox 3.6 for Windows isn't issuing a right-click event, but Chrome and IE do. Here's some test code. If you right-click #test then you get nothing in Firefox but you get an alert under Chrome and IE.

<html>
    <head>
        <title>Hi</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript">
        $(function(){
            $("#test").get(0).oncontextmenu = function() { return false; };
            $("#test").mousedown(function() { alert("hi"); });
        });
        </script>
    </head> 
    <body>
        <div id="test" style="background: red;">Hi</div>
    </body>
</html>

Why isn't the right-click event being generated in Firefox?

Was it helpful?

Solution

I found the problem. I have the "All-in-One Gestures" extension installed. I tried running the code with it disabled and it worked fine. Looks like a bug/limitation of the extension.

Update: I just tried the "Mouse Gestures Redox" extension and it does not have this problem.

OTHER TIPS

Firefox 3.6 gives the alert just fine on either left or right click on my Mac (OSX 10.5) as do Safari and Google Chrome. No idea why your Windows version doesn't -- doesn't sound like a programming problem of yours, more like a Firefox/Windows bug maybe...?

There is an option in Firefox: Content => Javascript => Advanced => Allow Disable/Replace Context Menus.

I tested your code. Firefox 3.6 gives the alert on my XP (SP3) machine.

Just to add to the list. I had Multi Links add-ons installed that was preventing the right click.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top