Ich habe eine Live-Suchleiste in jQuery gemacht, aber ich habe ein Problem!jQuery Keypress/Keydown funktioniert nicht richtig
$(document).on('keydown', '.searchInput', function(){ // or keypress I have the same result
console.log($(this).val());
});
Wenn ich eine Taste in das Eingabefeld ein und drücken .searchInput
es meldet den letzten Wert, den er hatte. wenn ich a
Zum Beispiel geben wird es log (leer), dann, wenn ich
s
geben (so die Suchleiste hat as
drin) wird es a
einzuloggen, dann, wenn ich d
(asd
in Suchleiste) geben wird es log as
und so weiter. Was mache ich falsch? Vielen Dank!
Das Problem ist, dass Sie das Ereignis an "Keydown" anhängen. Dies wird den Wert ** erfassen, bevor die Eingabe tatsächlich stattfindet **. Wenn Sie den vollständigen Wert erfassen möchten, verwenden Sie stattdessen 'keyup' Event –
@AkshayKhandelwal Ich brauche wirklich Keydown (oder Keypess oder irgendetwas, das beim Drücken der Taste ausgelöst wird. Gibt es noch etwas, das ich verwenden kann? (Keydown und Keypress don 't arbeiten)) – Jim
Was meinst du mit ** muss **. Gibt es eine Anforderung, die besagt, dass Sie einen weiteren Event-Handler anhängen müssen oder einen anderen Event-Handler anhängen? Wenn später der Fall ist, können Sie immer noch keyup verwenden, da alle Event-Handler –