0

我在哪里可以获得可用事件的详尽列表<a4j:ajax event="..." />

RichFaces 的文档“JavaScript 事件属性的名称(单击、更改等)”,但我正在寻找这个“等”。;)

旁注:我注意到它确实指的是自 AFAIK 以来的JavaScript 事件名称,您必须使用selectitem而不是select...

4

2 回答 2

3

要背诵有关该主题的RichFaces 组件参考(重点是我的):

<a4j:ajax>行为允许将 Ajax 功能添加到非 Ajax 组件。非 Ajax 组件必须为所有支持行为呈现的事件属性实现 ClientBehaviorHolder 接口

要更进一步,应该研究ClientBehaviorHolder接口,尤其是ClientBehaviorHolder#getEventNames()方法

返回一个非空、不可修改的集合,其中包含实现此接口的组件所支持的逻辑事件的名称

这样就不会太难找出组件可以触发的事件列表。

基本上,正如您所怀疑的,所有基本的 JavaScript 事件都受支持,并且(通常)在组件文档中提到的一组自定义事件(带有on前缀的那些),但省略了前缀(就像onlistshow会变成event="listshow")。

此外,值得一提的是,JSF 中还有两种额外的“标准”事件类型,它们将根据所讨论的组件呈现必要/正确的 HTML DOM 事件。这些action适用于实现ActionSource接口valueChange的组件和实现EditableValueHolder.

于 2013-07-16T16:04:20.377 回答
0

可用事件列表取决于您正在使用的组件。应该支持所有鼠标、键盘和表单事件(不确定 onerror 等),如果您正在使用,例如,<rich:select>您可以访问文档中描述的自定义事件,如 、listclick等。listdblclickselectitem

于 2013-07-16T15:28:45.287 回答