AKTUALISIERT zur Verdeutlichung und zum Beispiel
Beispiele: http://jsfiddle.net/pxfunc/5kpeJ/
Methode 1. input
Ereignis
In modernen Browsern verwenden Sie das input
Ereignis. Dieses Ereignis wird ausgelöst, wenn der Benutzer in ein Textfeld tippt, einfügt oder rückgängig macht, im Grunde immer dann, wenn sich der Wert von einem Wert zum anderen ändert.
In jQuery machen Sie das so
$('#someInput').bind('input', function() {
$(this).val() // get the current value of the input field.
});
ab jQuery 1.7 ersetzen bind
durch on
:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Methode 2. keyup
Ereignis
Für ältere Browser wird das keyup
Ereignis verwendet (dies wird ausgelöst, sobald eine Taste auf der Tastatur losgelassen wurde. Dieses Ereignis kann eine Art falsches Positiv ergeben, da bei der Freigabe von "w" der Eingabewert geändert wird und das keyup
Ereignis ausgelöst wird, aber auch, wenn das Die Umschalttaste wird losgelassen, keyup
wenn das Ereignis 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 auf das Kontextmenü klickt und es einfügt:
$('#someInput').keyup(function() {
$(this).val() // get the current value of the input field.
});
Methode 3. Timer ( setInterval
oder setTimeout
)
Um die Einschränkungen zu keyup
umgehen, können Sie einen Timer einstellen, der den Wert der Eingabe regelmäßig überprüft, um eine Wertänderung festzustellen. Sie können diese Timerprüfung verwenden setInterval
oder durchführen setTimeout
. Sehen Sie sich die markierte Antwort auf diese SO-Frage an: Ereignis zum Ändern des jQuery-Textfelds oder sehen Sie sich die Geige an, um ein Arbeitsbeispiel mit focus
und blur
events zum Starten und Stoppen des Timers für ein bestimmtes Eingabefeld zu verwenden