0

我正在使用Andrew Valums 的 Ajax 上传插件GitHub 链接)。这是其中的一些代码:

qq.getUniqueId = (function(){
    var id = 0;
    return function(){ return id++; };
})();

这是一个很长的故事,但我的情况是,在某些情况下,我希望qq.getUniqueId函数以 0 以外的 ID 开头。它仍然可以递增 1;它只需要从 0 以外的值开始。最好的方法是什么?

以下是创建测试环境的步骤:

  1. 下载插件:http: //github.com/valums/file-uploader/zipball/master

  2. 解压缩并将“客户端”文件夹移动到 Web 服务器上。

  3. 在文本编辑器中打开“demo.htm”文件,然后搜索action: 'do-nothing.htm',并添加onComplete: function(id, fileName, responseJSON) {alert(id)},

  4. 在网络浏览器中打开“demo.htm”文件。确保通过 Web 服务器访问它(而不是仅仅打开本地文件),否则它将无法工作。

  5. 上传一个文件。上传完成后,它应该会提示“0”。看看你是否可以修改它,以便我可以传入不同的起始编号。

谢谢!

4

1 回答 1

0

尝试用调用原始函数但添加偏移量的函数替换该函数:

function offsetUniqueId(n) {
   var old = qq.getUniqueId;
   qq.getUniqueId = function() {
       return old() + n;
   }
}

http://jsfiddle.net/alnitak/gWjqX/

于 2012-04-26T20:55:02.077 回答