我在哪里可以获得<a4j:ajax event="..." />
的可用事件的详尽列表?
RichFaces's doc说“JavaScript事件属性的名称(点击,更改等)”,但我正在寻找这个“等等。”;)
附注:我注意到它确实指的是自AFAIK以来的JavaScript events names,你必须使用selectitem
而不是select
......
答案 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 {}},listdblclick
等docs。