Como implementar onchange of <input type="text"> com jQuery?

<select> tem esta API. E sobre <input>?

Solução

Você pode utilizar .change()

$('input[name=myInput]').change(function() { ... });

No entanto, este evento só disparará quando o selector tiver perdido o foco, pelo que terá de clicar noutro lugar para ter este trabalho.

Se isso'não for bem para você, você poderia usar alguns dos outros jQuery events como keyup, keydown ou keypress - dependendo do efeito exato que você quer.

Comentários (7)

Eu sugeriria usar o evento keyup algo como abaixo:

$('elementName').keyup(function() {
 alert("Key up detected");
});

Existem algumas maneiras de alcançar o mesmo resultado, então eu acho que é's de preferência e depende de como você quer que funcione exatamente.

Atualização: Isto só funciona para entrada manual e não para copiar e colar.

Para copiar e colar, eu recomendaria o seguinte:

$('elementName').on('input',function(e){
 // Code here
});
Comentários (3)
$("input").change(function () {
    alert("Changed!");
});
Comentários (2)