我正在试验Blueimp's jQuery-File-Upload插件,这个插件看起来非常有前途,由demo来看。为什么Blueimp的jQuery-File-Upload插件不会触发回调?
这真的很容易实现:
var $uploadButton = $("#fileop-upload");// <input type="file" id="fileop-upload" [etc] />
$uploadButton.fileupload({
url : "//domain/path/to/receive-uploaded-files"
});
选定的文件,但是没有如预期刷新页面上传的罚款,但当然以这样的最小配置的用户将不会得到任何通知。这里插件的回调会派上用场。
根据文档有两种方法来定义回调。例如可在原始配置对象被加入这样的add
事件(每当被选择用于上载文件的时候触发):
$uploadButton.fileupload({
add : addFileListener,
url : "//domain/path/to/receive-uploaded-files"
});
或者:
$uploadButton.bind("fileuploadadd", addFileListener);
但是我发现只有第一种方法有效,第二种方法没有做任何事情。
它是更奇怪的是,没有其他的回调 - 尤其是progress
和start
- 似乎事宜中不费一枪我如何将它们绑定:
$uploadButton.fileupload({
add : addFileListener,
progress : progressListener,
start : startListener,
url : "//domain/path/to/receive-uploaded-files"
});
或
$uploadButton.fileupload({
add : addFileListener,
url : "//domain/path/to/receive-uploaded-files"
});
$uploadButton.bind("fileuploadprogress", progressListener");
$uploadButton.bind("fileuploadstart", startListener");
我有引用的侦听器函数定义,并且代码不报告任何错误或警告。
.bind
方法失败,为什么progress
或start
听众没有激活?
我在同一个点的战斗与blueimp上传回调,试图单独实施的SWFUpload式闪存撞坏组件来处理文件选择对话框,选择多个文件添加到IE浏览器。 – nathanchere 2011-06-17 00:54:06
出于好奇,你能确认你正在使用的jQuery和uploader版本吗?我正在使用jQ 1.5.2和上传插件的4.4.2版本。 – nathanchere 2011-06-17 01:18:25
我已经使用了最近刚刚下载的jQuery和上传插件。无论如何,我现在已经离开了这个插件,并开发了一个纯粹的基于File API的解决方案(http://blog.new-bamboo.co.uk/2010/7/30/html5-powered-ajax-file上传)只适用于FF4 +,Chrome和Safari,但幸运的是,现在我的目的是可以接受的。 – Wabbitseason 2011-06-17 06:33:16