Как отключить p: defaultCommand, когда blockUI активен? - PullRequest
2 голосов
/ 05 ноября 2019

Я использую Primefaces 7.0 и хочу отключить defaultCommand , когда активен blockUI ... Моя проблема в том, что когда я нажимаю SaveButton , blockUI активен, но я все еще могу нажать клавишу ВВОД, и сработает 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>

1 Ответ

4 голосов
/ 05 ноября 2019

Вы можете сбросить фокус со всех компонентов в заблокированной панели, вызвав на них JQuery.blur():

<p:commandButton value="SaveButton" id="btnSave"
    onclick="$(PrimeFaces.escapeClientId('form:pnlContent') + ' *').blur()" />

Это предотвратит дополнительные вызовы команд при последующем нажатии enter.

...