0

Andrew Valums の Ajax Upload プラグイン( 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. それを解凍し、「client」フォルダーを Web サーバーに移動します。

  3. 「demo.htm」ファイルをテキスト エディターで開き、検索してその直後にaction: 'do-nothing.htm',追加します。onComplete: function(id, fileName, responseJSON) {alert(id)},

  4. Web ブラウザで「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 に答える