有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

旁注:我肯定它指的是JavaScript events names,因为AFAIK,您必须使用selectitem而不是select


共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

    背诵关于这个主题的RichFaces component reference(重点是我的):

    The <a4j:ajax> behavior allows Ajax capability to be added to a non-Ajax component. The non-Ajax component must implement the ClientBehaviorHolder interface for all the event attributes that support behavior rendering.

    为了更进一步,我们应该研究^{}接口,尤其是ClientBehaviorHolder#getEventNames()方法

    Returns a non-null, unmodifiable Collection containing the names of the logical events supported by the component implementing this interface

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

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

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