Wie erhält man den Wert eines Feldes während des Einfügens?

8

Ich habe ein Textfeld, das das Ereignis paste an die Verwendung von JQuery bindet. Wenn ich zum ersten Mal etwas in das Formularfeld einfüge und dessen val() protokolliere, wird eine leere Zeichenfolge zurückgegeben. Wenn ich erneut in das Feld einfügen, wird der vorherige Wert zurückgegeben, bevor eingefügt wird. Im Wesentlichen habe ich eine Race Condition oder Sequencing Problem, aus Mangel an einem besseren Begriff. Es scheint, dass das Formularfeld erst nach dem Einfügen aktualisiert wird.

Gibt es eine Möglichkeit, den Wert des Felds zu überprüfen, nachdem das Einfügeereignis abgeschlossen wurde und das Feld tatsächlich ausgefüllt ist? Ich möchte den tatsächlichen Feldwert, nicht die ZwischenablageDaten, da ich weiß, dass das eine IE-only-Funktion ist.

%Vor%     
Soviut 13.01.2010, 07:59
quelle

1 Antwort

16

Es stellt sich heraus, dass eine annehmbare Lösung darin besteht, den Callback in eine setTimeout() mit einer Verzögerung von 0 Millisekunden zu verpacken, um sie asynchron zu machen.

Mein neuer Code ist:

%Vor%

Dank dem Plug-In von DigitalBush mit maskiertem Input wird diese Technik in der gesamten Quelle verwendet.

    
Soviut 13.01.2010, 08:35
quelle