Existe um projeto onde a caixa de entrada monitora a entrada em tempo real e aciona a solicitação.
A primeira ideia é usar o método onchange() na entrada. Tentei, mas não funciona. Só será acionado após a confirmação da alteração do valor, o que não é imediato.
Eu verifiquei on-line,
$(#fix).on('alteração de propriedade de entrada', função(evento){});
O método funciona, mas muda em tempo real. A frequência de envio é um pouco rápida.
Apresse-se e adicione um timer setTimeout.
$(#fix).on('input propertychange', function(event){ setTimeout(function(){ //Atraso 0,5s para executar console.log($(#fix).val()) },500); } );
O problema surge novamente. O cronômetro é assíncrono. Embora esteja atrasado, ele ainda será executado sem qualquer alteração.
Mais tarde, pensei em desvincular e vincular, mas nenhum evento de entrada do teclado pôde ser obtido durante o tempo de desvinculação.
A primeira ideia na época era acionar o evento - deletar o cronômetro - adicionar o cronômetro - executar a função. Descobri que ainda não estava bom e o cronômetro não podia ser excluído, então simplesmente parei de executá-lo.
Finalmente, verifiquei online e encontrei um novo método.
Método de carimbo de data/hora.
O princípio é que cada vez que a variável global e o carimbo de data/hora forem modificados pela entrada, o novo carimbo de data/hora será monitorado com um atraso de 0,5s e será igual ao carimbo de data/hora vinculado, e então prosseguirá para a próxima etapa.
-----html-----
<input type=text id=fix>------script-----var last;$(#fix).on('input propertychange', function(event){ //#fix é seu input Box last = event.timeStamp; //Use o timeStamp do evento para marcar o tempo, para que cada evento modifique o valor de last. Observe que last deve ser uma variável global setTimeout(function(){ //Defina um atraso de 0,5. s para executar if(last -event.timeStamp==0) //Se a diferença de horário for 0 (ou seja, nenhum outro evento de keyup ocorrer dentro de 0,5s após você parar de digitar), então faça o que quiser { console.log($(#fix).val()) } } , 500);});Resumir
O texto acima é a detecção em tempo real de entrada HTML5 e a otimização de atraso introduzida pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe-me uma mensagem e o editor responderá a tempo. Gostaria também de agradecer a todos pelo apoio ao site de artes marciais VeVb!