Hvordan implementerer jeg onchange af <input type="text"> med jQuery?

<select> har denne API. Hvad med <input>?

Løsning

Du kan bruge [.change()] (http://docs.jquery.com/Events/change)

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

Denne begivenhed vil dog kun blive udløst, når selectoren har mistet fokus, så du skal klikke et andet sted for at få det til at virke.

Hvis det ikke er helt rigtigt for dig, kan du bruge nogle af de andre jQuery events som keyup, keydown eller keypress - afhængigt af den nøjagtige effekt, du ønsker.

Kommentarer (7)

Jeg foreslår, at du bruger keyup-hændelsen som nedenfor:

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

Der er et par måder at opnå det samme resultat på, så jeg tror det er en præference og afhænger af, hvordan du ønsker det skal fungere præcist.

Opdatering: Dette virker kun ved manuel indtastning, ikke ved kopiering og indsættelse.

For copy and paste vil jeg anbefale følgende:

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