【发布时间】:2014-03-04 23:26:25
【问题描述】:
所以我正在开发一个多文件上传器,但在维护i 形成for 循环时遇到了麻烦。
基本上问题是我在 progressHandler 函数中传递了i 值,但每次progressHandler 触发它都会触发最后一个i 值,即files.files.length。
首先保持i 值传递的最佳方法是什么?
for (var i = 0; i < files.files.length; i++) {
...
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", function(event){progressHandler(event,i)}, false);
ajax.addEventListener("load", function(event){completeHandler(event,i)}, false);
...
}
【问题讨论】:
-
你需要使用闭包,有很多例子,其中之一:stackoverflow.com/questions/750486/…
标签: jquery for-loop xmlhttprequest