Я пытаюсь использовать jQuery 100% с помощью простого и элегантного API, но я столкнулся с несогласованностью между API и прямым HTML, что я не могу выяснить.Метод изменения jQuery для типа ввода = «файл»
У меня есть сценарий загрузки файла AJAX (который работает правильно), который я хочу запускать каждый раз при изменении значения входного файла. Вот мой рабочий код:
<input type="file" size="45" name="imageFile" id="imageFile" onchange="uploadFile()">
Когда я конвертировать onchange
событие в реализации JQuery:
$('#imageFile').change(function(){ uploadFile(); });
результат не то же самое. С атрибутом onchange
функция uploadFile()
вызывается в любое время, когда значение изменяется, как ожидается. Но с обработчиком события jQuery API .change()
событие только срабатывает при первом изменении значения. Любое изменение значения после этого игнорируется. Это кажется мне неправильным, но, конечно, это не может быть недосмотр jQuery, верно?
Неужели кто-то еще столкнулся с одной и той же проблемой и у вас есть обходное решение или решение проблемы, отличное от того, что я описал выше?
Вы используете IE случайно? – spig
Я вообще избегаю IE, как чуму. LOL Но если серьезно, я развиваюсь в Firebox, чтобы я мог использовать Firebug и его удивительность, а затем тестировать в IE, Chrome и Safari. Почему вы спрашиваете? Метод .live() (ответ ниже) решил эту проблему для меня. – gurun8
@ gurun8 Почему у вас нет параметра uploadFile()? Я хочу вызвать метод ASP.NET MVC, как это, но javascript должен отправить файл, который он хочет загрузить, как параметр –