Die Lösung von Jonathon Bolster deckt nicht alle Fälle ab. Ich passte es auch Modifikationen, durch Ausschneiden und Einfügen:
$("#inputname").on('change keyup copy paste cut', function() {
//!this.value ...
});
siehe http://jsfiddle.net/gonfidentschal/XxLq2/
Leider ist es nicht möglich, die Fälle zu fangen, wo der Wert des Feldes wird mit Hilfe von Javascript gesetzt. Wenn Sie den Wert selbst festlegen, ist das kein Problem, weil Sie wissen, wann Sie es tun ... aber wenn Sie eine Bibliothek wie AngularJS verwenden, die die Ansicht aktualisiert, wenn sich der Status ändert, kann es etwas mehr Arbeit sein. Oder Sie müssen einen Timer verwenden, um den Wert zu überprüfen.
Siehe auch die Antwort auf Detecting input change in jQuery?, die das Ereignis "Eingabe" vorschlägt, das von modernen Browsern verstanden wird. Also einfach:
$("#inputname").on('input', function() {
//!this.value ...
});
Keine Lösung hier, um die Situation zu beheben, wenn Sie verwenden type = "search" und die Standard-Clear-Taste. – luky