Chamar/Invocar tecla ENTER via código jQuery
13/12/2016
0
Preciso de um codigo em JavaScript ou jQuery que invoque o pressionamento da tecla ENTER dentro de um input.
Algo como se fosse assim: $("target").key("#13");
É que o evento esta dentro do input na função keypress, mas é um componente de terceiro, por isso que não consigo chamar a função por fora. Minha ideia então foi forçar essa chamada simulando a tecla ENTER do teclado.
Obrigado!
Fernando Alves
Post mais votado
16/12/2016
Primeiramente agradeço a todos pelo esforço em me ajudar,
Wilson, o problema é que esta função é executada depois que eu pressionar ENTER manualmente no teclado. Mas o que eu estou precisando, é que através de um comando, eu possa dar o ENTER sem usar o teclado.
Por exemplo;
Imagine um INPUT na sua tela, e dentro da função dele do keypress, esta um alert('Teste'),
Agora imagine que eu quero chamar o alert('Teste') que esta dentro do keypress do input,
Para isso eu sei que teria que pressionar o ENTER com o foco no INPUT, mas o usuário não pode pressionar o ENTER, pois esse evento deve ser disparado automaticamente ao abrir o formulário.
Então o que eu preciso, é executar uma função que esta dentro do KEYPRESS do meu INPUT sem interversão do usuário.
Pela lógica, eu sei que seria mais fácil executar e chamar a condição que esta dentro do KEYPRESS, mas como expliquei anteriormente, é um componente de terceiro, e não consegui localizar nas complexas linhas de código o evento que esta dentro do KEYPRESS do INPUT.
Vlw.
Ah sim, agora compreendi.
Eu fiquei curioso sobre e dei uma pesquisada para compreender. Testei o seguinte bloco de código:
(Caso ainda não tenha testado algo nesse estilo talvez possa ajudar.)
#input que usei para testar $('input').keypress(function(e){ console.log('Evento'); }); #Carregando o evento na variavel var e = $.Event( "keypress", { which: 13 } ); #Disparando o evento keypress/enter $('input').trigger(e);
Basicamente carrega o evento para a variável e depois dispara o evento com o trigger.
Wilson Neto
Mais Posts
13/12/2016
Wilson Neto
$(document).keypress(function(e) {
if (e.which == 13) {
//Logica aqui
}
});
13/12/2016
Wilson Neto
$(document).keypress(function(e) { if (e.which == 13) { $('button').trigger('click'); } });
Talvez consiga implementar algo nesse estilo chamando o evento do seu input.
14/12/2016
Fernando Alves
Mas eu preciso simular a batida na tecla do ENTER, via comando, pois quando a janela se abrir, o foco ja estara no input, então só preciso de um comando para listar os dados através da chamada do ENTER via código.
Como o componente é de terceiro, nao consegui localizar a função que faria a listagem desses dados, por isso optei por este procedimento.
14/12/2016
Wilson Neto
Então esse bloco de código ele certifica se o enter foi pressionado e engatilha o um botão, a grosso modo é um click no botão usando o enter.
$(document).keypress(function(e) { if (e.which == 13) { $('button').trigger('click'); } });
Nesse caso não importa aonde esteja o foco, eu estou esperando esse evento do documento, logo quando eu der um Hit no enter ele vai disparar um trigger no botão. Postei esse exemplo pois achei que seria útil nesse sentido, você identificar o evento, a "tecla" e engatilhar no componente que você deseja.
:)
15/12/2016
Fernando Alves
Primeiramente agradeço a todos pelo esforço em me ajudar,
Wilson, o problema é que esta função é executada depois que eu pressionar ENTER manualmente no teclado. Mas o que eu estou precisando, é que através de um comando, eu possa dar o ENTER sem usar o teclado.
Por exemplo;
Imagine um INPUT na sua tela, e dentro da função dele do keypress, esta um alert('Teste'),
Agora imagine que eu quero chamar o alert('Teste') que esta dentro do keypress do input,
Para isso eu sei que teria que pressionar o ENTER com o foco no INPUT, mas o usuário não pode pressionar o ENTER, pois esse evento deve ser disparado automaticamente ao abrir o formulário.
Então o que eu preciso, é executar uma função que esta dentro do KEYPRESS do meu INPUT sem interversão do usuário.
Pela lógica, eu sei que seria mais fácil executar e chamar a condição que esta dentro do KEYPRESS, mas como expliquei anteriormente, é um componente de terceiro, e não consegui localizar nas complexas linhas de código o evento que esta dentro do KEYPRESS do INPUT.
Vlw.
20/12/2016
Fernando Alves
Desculpe pela demora em responder,
Funcionou perfeitamente!
Muito obrigado mesmo...
Boas festas para todos nós!
25/03/2019
Clovis Nogueira
meu jquery está assim:
<script> $(function(){ $("body").keydown(function(e){ if(e.keyCode == 83) { //letra S location.assign("/myEstac/index.php/myestac/geral/saida"); // mas não está carregando.... } }) }) </script>
Será que meu comando location.assign está errado?
Clique aqui para fazer login e interagir na Comunidade :)