Я пытаюсь охватить jQuery на 100% с помощью его простого и элегантного API, но я столкнулся с несоответствием между API и простым HTML, которое я не могу понять.
У меня есть скрипт загрузки файла AJAX (который работает правильно), который я хочу запускать каждый раз, когда изменяется входное значение файла. Вот мой рабочий код:
<input type="file" size="45" name="imageFile" id="imageFile" onchange="uploadFile()">
Когда я преобразую событие onchange
в реализацию jQuery:
$('#imageFile').change(function(){ uploadFile(); });
результат не тот же. С атрибутом onchange
функция uploadFile()
вызывается каждый раз, когда значение изменяется, как ожидается. Но с помощью обработчика событий jQuery API .change()
событие вызывается только при первом изменении значения. Любое изменение значения после этого игнорируется. Это кажется мне неправильным, но, конечно, это не может быть упущением со стороны jQuery, верно?
Кто-нибудь еще сталкивался с такой же проблемой, и у вас есть обходной путь или решение проблемы, отличное от того, что я описал выше?