Jquery Live Change事件无法使用文件输入

时间:2011-08-15 16:35:34

标签: jquery internet-explorer

似乎无法使用这个并且不太确定为什么,使用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可以完美运行。我做了一些阅读并阅读了IE的实时+更改问题,修复了1.4版本的JQuery。使用Delegate也有完全相同的问题吗?

任何帮助表示感谢。

这是IE和文件输入类型的问题吗?

1 个答案:

答案 0 :(得分:2)

重新开发favikon时遇到了这个问题。使用最新版本的jQuery(1.7.1),IE7和8只会触发一次更改事件。我最终不得不这样做才能让它发挥作用:

  1. 将标准更改事件(即不活动)绑定到文件输入
  2. 当更改事件触发时,请提交表单
  3. 立即销毁并创建新的文件输入
  4. 将更改事件绑定到新文件输入
  5. This jQuery bug似乎是相关的,所以我认为IE仍然是一个问题,jQuery无法解决这个问题。