views:

444

answers:

5

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"&gt;&lt;/script&gt;
        <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?

+2  A: 

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...?

Alex Martelli
+2  A: 

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

andras
andras
...and also: https://support.mozilla.com/en-US/forum/1/604952
andras
You can check if this is the case by going to about:config and looking for `dom.event.contextmenu.enabled` .
andras
`dom.event.contextmenu.enabled` is set to true. The option in the Firefox menu is also checked. Still no go on the right-click.
cdmckay
@cdmckay: I'm glad that you've found it finally. ;-) (Sorry, I went offline shortly after posting.) Subjective conclusion: after checking that everything should work, disable plugins/add-ons one-by-one. Most of the time, they are responsible for the mess...Why don't you mark your answer then?
andras
@andras: I think that's a sensible conclusion. I can't accept my own answer until 48 hours pass :(
cdmckay
+1  A: 

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

Anthony Kong
I'm running Windows 7, maybe it has something to do with that?
cdmckay
+3  A: 

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.

cdmckay
A: 

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

Bastan