jQuery-Änderungsmethode für Eingabetyp = "Datei"

Ich versuche, jQuery mit seiner einfachen und eleganten API zu 100% zu nutzen, aber ich bin auf eine Inkonsistenz zwischen der API und direktem HTML gestoßen, die ich nicht ganz herausfinden kann.

Ich habe ein AJAX-Skript zum Hochladen von Dateien (das ordnungsgemäß funktioniert), das jedes Mal ausgeführt werden soll, wenn sich der Dateieingabewert ändert. Hier ist mein Arbeitscode:

<input type="file" size="45" name="imageFile" id="imageFile" onchange="uploadFile()">

Wenn ich das @ konvertieonchange event zu einer jQuery-Implementierung:

$('#imageFile').change(function(){ uploadFile(); });

das Ergebnis ist nicht dasselbe. Mit demonchange Attribut dasuploadFile()ie @ -Funktion wird immer dann aufgerufen, wenn der Wert wie erwartet geändert wird. Aber mit der jQuery API.change()ei der Ereignisbehandlungsroutine wird das Ereignis nur ausgelöst, wenn ein Wert zum ersten Mal geändert wird. Danach vorgenommene Wertänderungen werden ignoriert. Das scheint mir falsch, aber das kann doch kein Versehen von jQuery sein, oder?

Hat jemand anderes das gleiche Problem festgestellt und haben Sie eine andere Problemumgehung oder -lösung als die oben beschriebenen?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage