我正在試驗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