我正在尝试使用Blueimp 的 jQuery-File-Upload插件,从演示来看,它看起来很有希望。
这很容易实现:
var $uploadButton = $("#fileop-upload");// <input type="file" id="fileop-upload" [etc] />
$uploadButton.fileupload({
url : "//domain/path/to/receive-uploaded-files"
});
所选文件上传正常,无需按预期刷新页面,但当然,像这样的最小配置用户不会收到任何通知。这就是插件的回调会派上用场的地方。
根据文档,有两种定义回调的方法。For example the add
event (which fires whenever a file is selected for uploading) can be added in the original configuration object like this:
$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
,为什么 theprogress
或start
listener 没有激活?