thanks to ExtJS I could build a File Manager with a directory tree and a grid that displays the list of files. I have added listeners to the contextmenu event for both- the TreePanel and the Grid (ColumnModel).
If I right-click a tree node or a column in the grid, the context menu is displayed. This works for FF2 and IE6/7 - but in Opera 9.2nothing happens. I have enabled "allow right-click actions?" globally and site-wide, but the event seems not to be recognized. Instead the standard Opera context menu is shown.
The same goes for the Demos in the Docs (ExtJS 1.0.1a and 1.1beta1). If I browse them with Opera I can't invoke the custom context menus which are usually visible in FF2 and IE.
Is this a problem with my Opera Configuration or a known problem?
this doesn't help. Still just the standard Opera context menu comes up. Have you had the chance to test an ExtJS Demo with Context Menus (e.g. under Tree -> Dependency Builder) with Opera? Doesn't work for me.
you're right... i tried the Editor Grid example for 1.0.1a and the grid header context menu doesn't show up when right-clicked in Opera.
according to Opera, enabling the "Allow script to receive right clicks" option allows js scripts to receive the right click event, so you might want to explore that option. You'll also probably have to poke around in FireBug to see what mouse events are being fired after you enable this setting.
For now, you might have to do an Opera detect, and then hotwire an ALT-leftclick to show the context menu instead.
I surely could do that, but a user expects a context menu to open on right-click, not on Alt-Left-click.
Also there's no Firebug for Opera afaik. Maybe it's a known problem - I'm not a an Opera user and maybe Opera doesn't handle this right click event at all.
Btw: I experienced the same problem with Konqueror on Linux: the custom context menu won't show, but just the standard Konqueror Context Menu.
Could somehow help here or shed more light on this?
Opera developers generally discourage custom context menus, so the browser always shows the standard one (I would guess the contextmenu event is never triggered and you can't even prevent the default action with e.stopEvent() or "Allow right click" setting or similar). It used to be so in prev. versions of Opera. Since you can't get it to work with Opera 9.20, I suppose this intentional "hole" is still there. One can argue about whether it's right or wrong, but it is "by design".