a4j:ajax可用事件的详尽列表?

时间:2013-07-16 15:11:43

标签: java ajax events jsf richfaces

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

RichFaces's doc“JavaScript事件属性的名称(点击,更改等)”,但我正在寻找这个“等等。”;)

附注:我注意到它确实指的是自AFAIK以来的JavaScript events names,你必须使用selectitem而不是select ......

2 个答案:

答案 0 :(得分:3)

在这个主题上背诵RichFaces component reference(强调我的):

  

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

要继续前进一步,应该查看ClientBehaviorHolder界面,尤其是ClientBehaviorHolder#getEventNames()方法

  

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

通过这种方式,找出组件可以触发的事件列表并不会太难。

基本上,正如您所怀疑的那样,支持所有基本的JavaScript事件以及一组自定义的事件(通常)在组件的文档中提到(具有on前缀的那些),但省略了前缀(如{{1}会变成onlistshow)。

此外,值得一提的是,JSF中还有两个额外的“标准”事件类型,它们将呈现必要/正确的HTML DOM事件,具体取决于相关组件。对于实现event="listshow"接口的组件action和实现ActionSource的组件valueChange,这些是EditableValueHolder

答案 1 :(得分:0)

可用事件列表取决于您正在使用的组件。应支持所有鼠标,键盘和表单事件(不确定是否出现错误等),如果您正在使用,例如<rich:select>,您可以访问自定义事件,例如listclick,{{ 1 {}},listdblclickdocs

中描述的内容