Какие значения можно передать атрибуту события тега f: ajax?

Я пытаюсь найти список всех возможных значений, которые я могу передать атрибуту event тега f:ajax.

Я знаю, что могу также передавать имена функций из моих файлов .js, но мне нужны только те, которые поставляются с JSF.

Я знаю только о щелчке мышью и ключе, но я уверен, что есть и другие. Просто не знаю, где их найти.

Ответы

Ответ 1

Атрибут event <f:ajax> может содержать по крайней мере все поддерживаемые события DOM элемента HTML, который был сгенерирован рассматриваемым компонентом JSF. Легкий способ найти все это - проверить все атрибуты on* входящего компонента JSF, представляющие интерес, в документации библиотеки тегов JSF, а затем удалить "on" префикс. Например, компонент <h:inputText>, который отображает <input type="text">, перечисляет следующие атрибуты on* (из которых я уже удалил префикс "on", чтобы он в конечном итоге становится именем типа события DOM):

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

Кроме того, JSF имеет еще два имени специальных событий для EditableValueHolder и ActionSource компонентов, реальное событие DOM HTML DOM зависит от типа компонента:

  • valueChange (будет отображаться как change на вводе текста/выбора и как click на радио/вкладках checkbox)
  • action (будет отображаться как click по командам/кнопкам)

Вышеуказанные два являются событиями по умолчанию для рассматриваемых компонентов.

В некоторых библиотеках компонентов JSF есть дополнительные персонализированные имена событий, которые обычно являются более специализированными видами событий valueChange или action, такими как PrimeFaces <p:ajax>, который поддерживает среди других tabChange, itemSelect, itemUnselect, dateSelect, page, sort, filter, close и т.д. в зависимости от родительского компонента <p:xxx>. Вы можете найти их все в подразделе "События Ajax Behavior Events" каждой главы компонента в руководстве пользователя PrimeFaces.

Ответ 2

Я просто ввел некоторое значение, которое, как я знал, было недействительным, и вот результат:

'whatToInput' не поддерживается для HtmlPanelGrid. Укажите одно из этих поддерживаемых имен событий: click, dblclick, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover, MouseUp.

Значения, которые вы можете передать в событие,

  • выберите
  • DblClick
  • KeyDown
  • MouseDown
  • MouseMove
  • Наведите курсор мыши на
  • MouseUp