在IE7&中触发ValueChangeEvent IE8仅在第二次点击后

时间:2013-12-12 13:35:25

标签: jsf-2 internet-explorer-8 internet-explorer-7 myfaces

以下是.xhtml页面的代码:

<h:selectOneRadio valueChangeListener="#{searchModel.setSelectedSearchItem}" value="#{searchModel.selectedSearchItemName}" 
    layout="pageDirection">
        <f:selectItems value="#{searchModel.searchParametersNames}" var="item" itemValue="#{item}" />
        <f:ajax execute="@this" render="searchPane messagesPane" />
</h:selectOneRadio>

相应的方法签名:

public void setSelectedSearchItem(ValueChangeEvent event) {
    //do smth...
}

在Chrome,FF和IE9 +中运行良好。 IE7&amp; amp;的问题IE8是ValueChangeEvent在点击radioButton(第一次点击)之后不会触发,但是在我再次点击页面上的其他一些地方后(第二次点击)。在IE7和IE8中第一次点击后,我有机会让ValueChangeEvent激活吗?

1 个答案:

答案 0 :(得分:2)

解决了这个问题。加入

onclick="this.blur()"

这里

<h:selectOneRadio valueChangeListener="#{searchModel.setSelectedSearchItem}" value="#{searchModel.selectedSearchItemName}" 
     layout="pageDirection" onclick="this.blur()">

现在在IE7和IE中需要时会触发事件IE8!