[Resolvido]-HotKey não funciona dentro do componente

7 respostas
R

Bom dia galera, tudo certo? Bem, na minha aplicação tenho os seguintes campos: Um inputMask para o usuário digitar o código da cidade ( se ele souber), um inputText que vai receber o nome da cidade através daquele código e um commandButton para abrir o dialog caso o usuário não souber o código da cidade.Daí ele filtra pela descrição da mesma.
Bom, então tentei colocar um hotKey do primefaces com um tecla de atalho para o usuário não precisar clicar no botão pra abrir o dialog e sim abrir quando ele estiver com o foco no campo do inputMask…Porém, quando estou com ofoc dentro do campo não funciona, se eu clicar em qualquer parte da tela, ou seja, tirar o foco de qualquer campo, funciona perfeitamente…Abaixo a parte do xhtml:

<p:outputLabel value="Cidade:"/>
                                            <p:inputMask id="codigo_cidade" size="2" mask="9?9999" placeHolder="" value="#{bibliotecasJsfBean.codigoCidadeParaRegistro}" style="width: 50px">
                                                <f:ajax render="codigo_cidade codigo_cidadeMostra bibCep grow2" event="change" listener="#{bibliotecasJsfBean.atualizarCidadePorCodigo(event)}"/>
                                                <p:hotkey bind="Alt+P" update=":formDialogs:classDlg"  handler="dialogCidade.show();" />
                                            </p:inputMask>
                                            <p:inputText id="codigo_cidadeMostra" disabled="true" required="true" requiredMessage="O campo tipo de material não existe ou deve ser informado." value="#{bibliotecasJsfBean.crudObj.bibCodcidade.nome}" style="opacity: 2"/>
                                            <p:commandButton id="abreDlg" icon="ui-icon-search" onclick="dialogCidade.show();" type="button" ajax="false"/>

Se alguém puder ajudar a resolver esse problema, agradeceria mto…Vlw

7 Respostas

R

Isso acontece porque o inputMask captura os eventos keyup.

R

Teria como eu solucionar o problema cara?? Se puder ajudar, agradeceria mto…Vlww

R

Antes, era assim:

<p:outputLabel value="Cidade:"/>
                                            <p:inputMask onkeydown="chamaDialog(event, 'codigo_cidade');" id="codigo_cidade" size="2" mask="9?9999" placeHolder="" value="#{bibliotecasJsfBean.codigoCidadeParaRegistro}" style="width: 50px">
                                                <f:ajax render="codigo_cidade codigo_cidadeMostra bibCep grow2" event="change" listener="#{bibliotecasJsfBean.atualizarCidadePorCodigo(event)}"/>
                                            </p:inputMask>
                                            <p:inputText id="codigo_cidadeMostra" disabled="true" required="true" requiredMessage="O campo tipo de material não existe ou deve ser informado." value="#{bibliotecasJsfBean.crudObj.bibCodcidade.nome}" style="opacity: 2"/>
                                            <p:commandButton id="abreDlg" icon="ui-icon-search" onclick="dialogCidade.show();" type="button" ajax="false"/>

E tinha uma classe global.js, por exemplo:

function chamaDialog(event, id) {
    if (event.altKey) {
            if (id === 'codigo_cidade') {
                document.getElementById("tab:abreDlg").click();
            }
}

Só que agora não está mais funcionando…Poderia dar uma ajuda aí?? Vlw…

R

Alguém mais poderia dar uma ajuda aí?? Vlw…

R

Boa tarde galera, tdo certo? Alguém saberia alguma solução aí?? Vlw…

R

Alguém???

R

Ricardo Fávero Júnior:
Bom dia galera, tudo certo? Bem, na minha aplicação tenho os seguintes campos: Um inputMask para o usuário digitar o código da cidade ( se ele souber), um inputText que vai receber o nome da cidade através daquele código e um commandButton para abrir o dialog caso o usuário não souber o código da cidade.Daí ele filtra pela descrição da mesma.
Bom, então tentei colocar um hotKey do primefaces com um tecla de atalho para o usuário não precisar clicar no botão pra abrir o dialog e sim abrir quando ele estiver com o foco no campo do inputMask…Porém, quando estou com ofoc dentro do campo não funciona, se eu clicar em qualquer parte da tela, ou seja, tirar o foco de qualquer campo, funciona perfeitamente…Abaixo a parte do xhtml:

<p:outputLabel value="Cidade:"/>
                                            <p:inputMask id="codigo_cidade" size="2" mask="9?9999" placeHolder="" value="#{bibliotecasJsfBean.codigoCidadeParaRegistro}" style="width: 50px">
                                                <f:ajax render="codigo_cidade codigo_cidadeMostra bibCep grow2" event="change" listener="#{bibliotecasJsfBean.atualizarCidadePorCodigo(event)}"/>
                                                <p:hotkey bind="Alt+P" update=":formDialogs:classDlg"  handler="dialogCidade.show();" />
                                            </p:inputMask>
                                            <p:inputText id="codigo_cidadeMostra" disabled="true" required="true" requiredMessage="O campo tipo de material não existe ou deve ser informado." value="#{bibliotecasJsfBean.crudObj.bibCodcidade.nome}" style="opacity: 2"/>
                                            <p:commandButton id="abreDlg" icon="ui-icon-search" onclick="dialogCidade.show();" type="button" ajax="false"/>

Se alguém puder ajudar a resolver esse problema, agradeceria mto…Vlw

Criado 29 de outubro de 2013
Ultima resposta 1 de nov. de 2013
Respostas 7
Participantes 2