returning false from the handler should cancel the context menu on Opera and other browsers. And apparently on Macs the event for a Ctrl +click carries the 'right-click' identifier (e.button = 2).
cheers, - ricardo On Nov 30, 4:07 pm, "Jeffrey Kretz" <[EMAIL PROTECTED]> wrote: > If I might make a suggestion. > > Right-click context menus are inherently not cross-platform compatible, as > Opera will not cancel the default right click popup. > > Any any Mac users without a right mouse button are screwed. > > I personally suggest using CTRL-Click. This works on a Mac testing for the > e.MetaKey property on the click event (CTRL-Click and Option-Click) > > And instead of a double-right-click, you could just bind to the standard > dblclick event, and test for e.MetaKey==true. > > JK > > -----Original Message----- > From: jquery-en@googlegroups.com [mailto:[EMAIL PROTECTED] On > > Behalf Of ricardobeat > Sent: Sunday, November 30, 2008 9:24 AM > To: jQuery (English) > Subject: [jQuery] Re: Double right-click, anyone? > > I didn't test it in IE... no cookie. > > Apparently the 'mousedown' event was at random not carrying the > property that tells us what button was clicked, a triple click was > needed. I switched to mouseup and it seems to work fine, I also had > forgotten to clear the timeout and set the var to false when the > double click happened. Check out the new version: > > http://jsbin.com/iyegu/ > > cheers, > - ricardo > > On Nov 30, 8:32 am, TheBlueSky <[EMAIL PROTECTED]> wrote: > > I forgot to mention also that I disabled the context menu with the > > code > > $('html').bind("contextmenu", function(e) {return false;}); > > > and if I didn't do that, the context menu will appear and every right- > > click then will fire the double-click event in IE. I guess that's > > because in IE the double-click event won't fire until the time out > > duration finishes and in FF it's the opposite, i.e. the event won't > > fire after the time out duration! > > > On Nov 30, 2:10 pm, TheBlueSky <[EMAIL PROTECTED]> wrote: > > > > Thanks for the code... but I couldn't manage to make it work at all in > > > IE and in FF the only time it worked is if I replaced $('body') with $ > > > ('html)! Any idea how to make it work with a specific element; e.g. > > > and image with id="myImage", because when I tried $('#myImage') it > > > didn't work as well. > > > > By the way, for IE I replaced console.log() with alert(), but no > > > success. > > > > On Nov 29, 10:58 pm, ricardobeat <[EMAIL PROTECTED]> wrote: > > > > > A quick implementation: > > > > > $('body').unbind('mousedown').mousedown(function(e){ > > > > var rightclick = (e.which) > > > > ? (e.which == 3) > > > > : (e.button == 2); > > > > var t = $(this); > > > > if (rightclick) { > > > > console.log('rightclick'); > > > > if (t.data('rightclicked')) { > > > > console.log('double click!'); > > > > } else { > > > > t.data('rightclicked',true); > > > > setTimeout((function(t){ return function(){ t.data > > > > ('rightclicked',false); } })(t), 300); > > > > }; > > > > }; > > > > > }); > > > > > - ricardo > > > > > On Nov 29, 10:20 am, TheBlueSky <[EMAIL PROTECTED]> wrote: > > > > > > Hi everyone, > > > > > Does anyone has code, implementation, plug-in or whatever to detect > > > > > double right-click? I'm searching and trying for couple of days now > > > > > without any result. > > > > > Appreciate any help.- Hide quoted text - > > > > > - Show quoted text -- Hide quoted text - > > > > - Show quoted text -