【发布时间】:2010-11-28 18:51:11
【问题描述】:
下面的代码使用 AjaxUpload.2.0.min.js 将文件上传到服务器
但是您需要多次单击“添加文件”按钮才能显示操作系统窗口(选择要上传的文件的位置),而不是单击一次。
此外,如果您在链接中单击一次,然后将鼠标移出红色区域并单击(在#upload_files 之外),最后您在链接中单击返回,它可以工作,操作系统窗口打开..但为什么我必须这样做? AjaxUpload 最初不会绑定在 .livequery 调用中吗?那怎么绑定呢?
请专注于此,在第一次单击鼠标时显示的操作系统窗口。其余的程序在我的服务器上运行良好。
.js 上传到 github 以便于测试代码,但在实际情况下它们在我的机器中。
非常感谢
<head>
<style>
#upload_files{color: #fff; background:#F32201; border:1px solid #7E9DB9; padding:2px;}
</style>
<script type="text/javascript" src="https://gist.github.com/raw/6dd585079502f138d87e/7c243080233761859937d52195b670602731a379/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="https://gist.github.com/raw/eeb2fe78f63ab80b626d/5be66e749b19fbb5b7c8814bf72a98c083f2aaaf/jquery.livequery.min.js"></script>
<script type="text/javascript" src="https://gist.github.com/raw/826bff2445c8533dd7fc/797734455959ef27796b6770c95a7b39049ae6e9/AjaxUpload.2.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function uploadFiles(){
new AjaxUpload('#upload_files', {
action: 'whereToUploadInServer.php',
});
}//end uploadFiles
$("#upload_files").livequery("click", function(e){
e.preventDefault();
uploadFiles();
//debugger ;
});
}); //end document ready
</script>
</head>
<body>
<div><a href="#" id="upload_files">Add File</a></div> <br>
</body>
【问题讨论】:
标签: jquery ajax file-upload click livequery