AKTUALISIERT zur Verdeutlichung und als Beispiel
Beispiele: http://jsfiddle.net/pxfunc/5kpeJ/
Methode 1. input
Veranstaltung
In modernen Browsern verwenden Sie die input
Veranstaltung. Dieses Ereignis wird ausgelöst, wenn der Benutzer in ein Textfeld eintippt, einfügt, den Vorgang rückgängig macht, also immer dann, wenn sich der Wert von einem Wert zu einem anderen ändert.
In jQuery machen Sie das wie folgt
$('#someInput').bind('input', function() {
$(this).val() // get the current value of the input field.
});
ab jQuery 1.7, ersetzen Sie bind
avec on
:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Methode 2. keyup
Veranstaltung
Bei älteren Browsern verwenden Sie die keyup
(dieses Ereignis wird ausgelöst, sobald eine Taste auf der Tastatur losgelassen wurde. Dieses Ereignis kann eine Art falsches Positiv ergeben, da beim Loslassen von "w" der Eingabewert geändert wird und die keyup
Ereignis auslöst, sondern auch beim Loslassen der "Shift"-Taste die keyup
ausgelöst wird, aber keine Änderung an der Eingabe vorgenommen wurde.). Diese Methode wird auch nicht ausgelöst, wenn der Benutzer mit der rechten Maustaste klickt und aus dem Kontextmenü einfügt:
$('#someInput').keyup(function() {
$(this).val() // get the current value of the input field.
});
Methode 3. Zeitschaltuhr ( setInterval
o setTimeout
)
Zur Umgehung der Einschränkungen von keyup
können Sie einen Timer einstellen, der den Wert des Eingangs regelmäßig überprüft, um eine Wertänderung festzustellen. Sie können verwenden setInterval
o setTimeout
um diese Zeitüberprüfung durchzuführen. Siehe die markierte Antwort auf diese SO-Frage: jQuery textbox change event oder siehe das Fiddle für ein funktionierendes Beispiel mit focus
y blur
Ereignisse zum Starten und Stoppen des Timers für ein bestimmtes Eingabefeld
3 Stimmen
Welche Art von Eingabe? Textfeld? Kontrollkästchen? Radio? Textarea? Mal sehen, was Sie sich bis jetzt ausgedacht haben
0 Stimmen
Entschuldigung, es handelt sich um eine Eingabe vom Typ Text. Und wie gesagt, ich habe versucht, zu ändern, aber das funktioniert nicht die Art und Weise ich brauche (für jede Änderung auf den Text in der Eingabe). Ich habe auch versucht, keydown, aber um diese Arbeit zu bekommen, muss ich verfolgen, ob die Eingabe "schmutzig" ist oder nicht.
2 Stimmen
Wenn sie eine Taste drücken, wird es 99% der Zeit zu ändern, könnten Sie immer eine Überprüfung für die Tasten, die nicht in der Event-Handler tun würde.