Quero executar uma função sempre que o valor de uma caixa de entrada específica for alterado. É quase funciona com $('input').keyup(function)
, mas nada acontece quando colar texto na caixa, por exemplo. $input.change(function)
só é acionado quando a entrada está embaçada, então como eu saberia imediatamente sempre que uma caixa de texto alterasse o valor?
159
keyup
e ospaste
eventos?paste
é apenas um que eu pensei, eu prefiro ouvir uma mudança definitiva do que pensar em todos os diferentes caminhos de entrada.cut
).Respostas:
apenas lembre-se de que 'on' é recomendado sobre a função 'bind'; portanto, tente sempre usar um ouvinte de eventos como este:
fonte
paste
embora? Primeiro eu pensei que só funcionaria se colarmos algo comCTRL+V
.console.log()
vez dealert
. Seria muito chato para keyupalert
.Descrição
Você pode fazer isso usando o
.bind()
método jQuery . Confira o jsFiddle .Amostra
Html
jQuery
Mais Informações
fonte
Tente isso .. créditos para https://stackoverflow.com/users/1169519/teemu
por responder minha pergunta aqui:
/programming/24651811/jquery-keyup-doesnt-work-with-keycode-filtering?noredirect=1#comment38213480_24651811Essa solução me ajudou a progredir no meu projeto.
Nota: propertychange para versões inferiores do IE.
fonte
você também pode usar eventos de caixa de texto -
Tente isto
fonte
Tente o seguinte:
Basicamente, considere apenas cada evento:
Html:
Jquery:
fonte
selecione para sugestão do navegador
fonte
Tente o seguinte:
fonte
Use isto: https://github.com/gilamran/JQuery-Plugin-AnyChange
Ele lida com todas as maneiras de alterar a entrada, incluindo o menu de conteúdo (Usando o mouse)
fonte
Essa combinação de eventos funcionou para mim:
fonte
NÃO SE ESQUEÇA DO
cut
ouselect
eventos!A resposta aceita é quase perfeita, mas esquece os eventos
cut
eselect
.cut
é acionado quando o usuário corta o texto (CTRL + X ou com o botão direito do mouse)select
é acionado quando o usuário seleciona uma opção sugerida pelo navegadorVocê deve adicioná-los também, como tal:
fonte