What values can I pass to the event attribute of the f:ajax tag?

AjaxJsfJsf 2

Ajax Problem Overview


I am trying to find a list of all the possible values I can pass to the attribute event of the f:ajax tag.

I know that I can also pass function names from my .js files, but what I need just the ones that come with JSF.

I only know about click mouseover and keyup, but I am sure there are more. Just don't know where to find them.

Ajax Solutions


Solution 1 - Ajax

The event attribute of <f:ajax> can hold at least all supported DOM events of the HTML element which is been generated by the JSF component in question. An easy way to find them all out is to check all on* attribues of the JSF input component of interest in the JSF tag library documentation and then remove the "on" prefix. For example, the <h:inputText> component which renders <input type="text"> lists the following on* attributes (of which I've already removed the "on" prefix so that it ultimately becomes the DOM event type name):

  • blur
  • change
  • click
  • dblclick
  • focus
  • keydown
  • keypress
  • keyup
  • mousedown
  • mousemove
  • mouseout
  • mouseover
  • mouseup
  • select

Additionally, JSF has two more special event names for EditableValueHolder and ActionSource components, the real HTML DOM event being rendered depends on the component type:

  • valueChange (will render as change on text/select inputs and as click on radio/checkbox inputs)
  • action (will render as click on command links/buttons)

The above two are the default events for the components in question.

Some JSF component libraries have additional customized event names which are generally more specialized kinds of valueChange or action events, such as PrimeFaces <p:ajax> which supports among others tabChange, itemSelect, itemUnselect, dateSelect, page, sort, filter, close, etc depending on the parent <p:xxx> component. You can find them all in the "Ajax Behavior Events" subsection of each component's chapter in PrimeFaces Users Guide.

Solution 2 - Ajax

I just input some value that I knew was invalid and here is the output:

> 'whatToInput' is not a supported event for HtmlPanelGrid. > Please specify one of these supported event names: click, dblclick, > keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover, > mouseup.

So values you can pass to event are

  • click
  • dblclick
  • keydown
  • mousedown
  • mousemove
  • mouseover
  • mouseup

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjavingView Question on Stackoverflow
Solution 1 - AjaxBalusCView Answer on Stackoverflow
Solution 2 - Ajax1392023093userView Answer on Stackoverflow