Hi folks, quick question for ya. I'm working on getting a custom context menu to work in Firefox (it was written for IE with behaviors) and I can get the menu to pop-up, but i'm getting a javascript error when it does. (Also, nothing in the menu works, but I believe that's because of some other behaviors I haven't redone).

On line 4: onContextMenu="displayContextMenu" calls the function which calls a chain of functions for highlighting grid rows, getting the row id, and of course, making the contextMenu div visible. For Firefox, I've read that I need to pass the event when this is written inline like this. so I change it to this: onContextMenu="displayContextMenu(event)".
This works, but I get an error: "displayContextMenu(event) is not a function" when i'm using webdeveloper addon for firefox. Also, the source code for that line looks like "displayContextMenu(event)()". So it believes "(event)" is part of the name of the function, instead of the actual event. I know they wrote this back when JSF was new, and created custom components, but is there a way to attach the event to that function call at all?

Thank you,
Jmasta

<w:grid id="sourceNavGrid"
				beanName="sourceNav.gridManager" 
				selectionColumnEnabled="true" 
				[b]onContextMenu="displayContextMenu"[/b]
				pagingEnabled="true"
				filteringEnabled="true"
				sortingEnabled="true"
				trackingEnabled="true"
				trackingImage="/codesWeb/theme/images/tracking.gif"
				styleClass="grid" 
				headerClass="grid-header" 
				rowClasses="grid-row1,grid-row2" 
				footerClass="grid-paging" 
				columnClasses="grid-link,grid-image,grid-text,grid-text,grid-number,grid-text,grid-number,grid-date,grid-date,grid-date,grid-date,grid-date,grid-date,grid-date"/>

I ended up having one of the people responsible for the custom jsf components re-do the renderer, so sending in "displayContextMenu" results in "displayContextMenu(event)", which works great in firefox, and IE doesn't seem to care. Consider this one solved.

This question has already been answered. Start a new discussion instead.