2012-03-27 111 views
1

我在我们的项目中使用了jQuery插件ajaxFileupload。我的设计是我有一个文件上传控制,并设置不透明度为0.01,然后使用锚链接,我触发文件上传控件点击事件。这工作正常,直到我第二次尝试点击锚链接,它不打开文件对话框。Ajax文件上传在第二次使用时不起作用

这是我的代码。

$(".btnUpload").live("click", function() { 
    $(".lblUploadError").text(""); 
    $(".fleAttachment").trigger("click"); 
}); 
$(".fleAttachment").change(function() { 
    var reg = /^.*\.(jpg|JPG|gif|GIF|jpeg|JPEG)$/; 
    var vals = $(this).val(), 
     val = vals.length ? vals.split("\\").pop() : ""; 
    if (reg.test(vals) == false) { 
     $(".lblUploadError").text("Invalid Image Type. We only accept .GIF or .JPG"); 
    } else { 
     ajaxFileUpload(); 
     eval($(".btnRefreshAttachmentList").attr("href")); 
    } 
}); 

我在控制台中看不到任何错误,所以很难调试它。

回答

0

变化

$(".fleAttachment").change(function() { 

$(".fleAttachment").live('change', function() { 
+2

[上()](http://api.jquery.com/on/)取代'.live()'jQuery中1.7 => – ManseUK 2012-03-27 15:15:28

+1

我知道,但代码使用'.live()',所以我认为它必须使用旧版本的jQuery。好的一点,但。 – 2012-03-27 15:17:12

+0

我正在使用jquery-1.7.1.min.js,但是当我尝试使用on()时,它不起作用。新版本中是否弃用.live()? – 2012-03-27 17:43:15

0
$(document).on("click", ".fleAttachment", function() { 
//--> Logic Here // jQuery 1.7+ 
}); 
相关问题