我们已经构建了以下组件:
<h:panelGroup id="#{cc.attrs.id}Component" rendered="#{cc.attrs.rendered}">
<div id="#{cc.attrs.id}" class="select #{cc.attrs.styleClass}" >
<h:inputText id="input" disabled="#{cc.attrs.disabled}"
value="#{cc.attrs.value}"
tabindex="#{cc.attrs.tabindex}" maxlength="#{cc.attrs.maxlength}"
converter="#{cc.attrs.converter}">
<a4j:ajax event="change" render="select" />
</h:inputText>
<rich:select disabled="#{cc.attrs.disabled}"
id="select" value="#{cc.attrs.value}"
listWidth="#{cc.attrs.listWidth}"
converter="#{cc.attrs.converter}">
<f:selectItems value="#{cc.attrs.items}" var="si"
itemValue="#{xyz}" itemLabel="#{xyz.name}" />
<a4j:ajax event="selectitem" render="input" />
</rich:select>
</div>
</h:panelGroup>
我们已经定义我们接受带有目标输入的更改事件并选择:
<composite:clientBehavior name="change" event="change" targets="input select"/>
但是对于选择项,我们确实需要事件是“selectItem”而不是“更改”。
显然,我们可以在界面中同时接受“change”和“selectItem”,但这意味着实现者必须同时指定 change 和 selectItem 操作。
<a4j:ajax event="change" ... />
<a4J:ajax event="selectItem" ... />
有什么方法可以将目标输入上的事件从更改更改为 selectItem?