[RESOLVIDO]Abrir Dialog utilizando tecla da tabela ASCII

Bom dia pessoal, tudo bem? Bom, na minha aplicação tenho alguns Dialogs e abro os mesmos pelas teclas P ou p da TABELA ASCII. Porém, não estou conseguindo fazer com que abra por Alt + p ou Alt + P … Abaixo o xhtml:

   <script type="text/javascript">
                        function chamaDialog(event,id) {
                            if(event.keyCode == 80 || event.keyCode == 112){
                                if(id == 'codigo_editora'){
                                    document.getElementById("tab:abreDialogEditora").click();
                                }
                            }
                        }
                    </script>

Onde eu utilizo o mesmo:

 <div>
                                            <td align="right">Editora:</td>
                                            <h:panelGrid id="pnl_editora" columns="3">
                                                <p:inputMask onkeypress="chamaDialog(event,'codigo_editora')" id="codigo_editora" size="6" mask="9?9999" required="false" requiredMessage="O campo editora deve ser informado." placeHolder="" value="#{acervoJsfBean.codigoEditoraParaRegistro}" >
                                                    <f:ajax render="codigo_editoraMostra" event="change" listener="#{acervoJsfBean.atualizarEditoraPorCodigo(event)}"/>
                                                </p:inputMask>
                                                <p:inputText id="codigo_editoraMostra" disabled="true" required="false" requiredMessage="O campo editora deve ser informado." value="#{acervoJsfBean.crudObj.aceeditora.ediDescricao}" style="width: 190px"/>
                                                <p:commandButton id="abreDialogEditora" icon="ui-icon-search" onclick="EditoraDlg.show()"/>
                                            </h:panelGrid><br/>
                                        </div>

Se alguém puder ajudar pra fazer com que eu consiga resolver isso e implementar esse mecanismo, agradeceria muito. Vlw

Alguém poderia ajudar?? Vlw…

Além disso, alguém saberia como posso fazer o teste para saber ao menos se a tecla ALT está pressionada?? Se alguém puder ajudar, agradeço mto…

Oi,

Tente utilizar a propriedade altKey do evento, ele diz se a tecla ALT estava pressionada. Isso pode não funcionar no onKeyPress (porque ele não é feito para trazer informação sobre teclas especiais, não é garantido em todos os browsers), se não der certo tente usar o evento onkeydown.

[quote=gomesrod]Oi,

Tente utilizar a propriedade altKey do evento, ele diz se a tecla ALT estava pressionada. Isso pode não funcionar no onKeyPress (porque ele não é feito para trazer informação sobre teclas especiais, não é garantido em todos os browsers), se não der certo tente usar o evento onkeydown.[/quote]
Olá gomesrod. Primeiro, obrigado por pensar em ajudar. Vou testar aki e após posto o resultado. Vlw cara :slight_smile:

[quote=gomesrod]Oi,

Tente utilizar a propriedade altKey do evento, ele diz se a tecla ALT estava pressionada. Isso pode não funcionar no onKeyPress (porque ele não é feito para trazer informação sobre teclas especiais, não é garantido em todos os browsers), se não der certo tente usar o evento onkeydown.[/quote]
Cara, funcionou numa boa. Muito, mas mto obrigado mesmo meu velho. Só coloquei como vc falou o onkeydown e fiz o seguinte:

   <script type="text/javascript">
                        function chamaDialog(event,id) {
                            if(event.altKey){
                                if(event.keyCode == 80 || event.keyCode == 112){
                                    if(id == 'codigo_editora'){
                                        document.getElementById("tab:abreDialogEditora").click();
                                    }
                            
                                    if(id == 'codigo_classificacao'){
                                        document.getElementById("tab:abreDialogClassificacao").click();
                                    }
                                }
                            }
                        }
                    </script>

Sério meu, não sei como te agradecer, eu e meu colega estava peliando pra isso. Vlw mesmo!!! Abc

Deleted.