Событие Live изменения Jquery не работает с вводом файла - PullRequest
1 голос
/ 15 августа 2011

Кажется, я не могу заставить это работать и не слишком уверен, почему, для справки, используя JQuery 1.6.2.

Я пробую следующий код:

    $("#imageUpload input").live('change', function() {
    var fileName = $(this).val();
    var fileExt = fileName.split('.').pop();
    var indexPos = $(this).parent().index();
    var currId = $(this).attr('id');

    // check extensions and if invalid replaceWith the input to clear

});

IE 6 - 9 не повезло (ничего в функции не вызывается), Firefox работает без нареканий.Я немного почитал и прочитал, что проблема live + change с IE была исправлена ​​в версии 1.4+ JQuery.Также есть точно такая же проблема с использованием Delegate?

Любая помощь приветствуется.

Это проблема с IE и типом ввода файла?

1 Ответ

2 голосов
/ 25 ноября 2011

Я столкнулся с этой проблемой при переработке favikon . В последней версии jQuery (1.7.1) IE7 и 8 запускают событие change только один раз. Мне пришлось сделать это, чтобы заставить его работать:

  1. Привязать стандартное событие изменения (т.е. не в прямом эфире) к вводу файла
  2. Когда происходит событие изменения, отправьте форму
  3. Немедленно уничтожить и создать новый файл ввода
  4. Привязать событие изменения к новому входному файлу

Эта ошибка jQuery , похоже, связана, поэтому я предполагаю, что в IE по-прежнему проблема, связанная с тем, что jQuery не может обойти эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...