我可以将哪些值传递给f:ajax标记的event属性?

时间:2011-10-25 08:15:57

标签: ajax jsf jsf-2

我试图找到一个可以传递给f:ajax标签的属性“event”的所有可能值的列表。

我知道我也可以从我的.js文件传递函数名称,但我需要的只是JSF附带的函数名称。

我只知道点击鼠标悬停和键盘,但我相信还有更多。只是不知道在哪里找到它们。

2 个答案:

答案 0 :(得分:97)

event的{​​{1}}属性至少可以支持由所讨论的JSF组件生成的HTML元素的所有支持DOM events。找到它们的一种简单方法是检查JSF tag library documentation中感兴趣的JSF输入组件的所有<f:ajax>属性,然后删除“on”前缀。例如,呈现on*的{​​{3}}列出了以下<input type="text">属性(我已经删除了“on”前缀,以便它最终成为DOM事件类型名称): / p>

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

此外,JSF还为the <h:inputText> componentEditableValueHolder组件提供了两个特殊事件名称,正在呈现的真实 HTML DOM事件取决于组件类型:

  • select(将在文字/选择输入上呈现为valueChange,在广播/复选框输入上呈现为change
  • click(将在命令链接/按钮上呈现为action

以上两个是相关组件的默认事件。

某些JSF组件库具有其他自定义事件名称,这些名称通常是更加专业化的clickvalueChange个事件,例如PrimeFaces action,其中支持<p:ajax>tabChangeitemSelectitemUnselectdateSelectpagesortfilter等取决于父{{1} }} 零件。您可以在ActionSource中每个组件章节的“Ajax行为事件”小节中找到它们。

答案 1 :(得分:2)

我只输入了一些我知道无效的值,这是输出:

  

&#39; whatToInput&#39;不是HtmlPanelGrid支持的事件。   请指定以下支持的事件名称之一:click,dblclick,   keydown,keypress,keyup,mousedown,mousemove,mouseout,mouseover,   鼠标松开。

您可以传递给事件的值

  • 点击
  • DBLCLICK
  • KEYDOWN
  • 鼠标按下
  • 鼠标移动
  • 鼠标悬停
  • 鼠标松开