我正在使用Primefaces 7.0,并希望在blockUI处于活动状态时禁用defaultCommand。。。我的问题是,当我点击SaveButton时,blockUI处于活动状态,但我仍然可以按ENTER键,defaultCommand就会被触发。如何禁用此功能?我不想总是禁用defaultCommand。
<h:form id="form">
<p:panel id="pnlContent">
<p:commandButton value="SaveButton" id="btnSave" action="#{defaultView.longRunningOperation}"/>
<p:defaultCommand target="btnSave"/>
</p:panel>
<p:blockUI block="pnlContent" trigger="btnSave"/>
</h:form>
您可以通过调用JQuery.blur()
来从被阻止面板内的所有组件中删除焦点:
<p:commandButton value="SaveButton" id="btnSave"
onclick="$(PrimeFaces.escapeClientId('form:pnlContent') + ' *').blur()" />
这将防止在随后按下enter
时进行额外的命令调用。