OK、私は最初に私がここで少し頭を抱えていることを告白します。
いくつかのコードが正常に機能しています。グローバル配列変数を作成z1=[];
し、次のコードで一意の参照キーrを使用して、ZeroClipboardオブジェクトを配列に格納しました。(これ自体は悪かもしれませんが、うまくいきました。)
function zc(r){
var a="RP"+r,b="RDC"+r,c="RP"+r;
z1[r]=new ZeroClipboard.Client();
z1[r].addEventListener('mouseDown',function(client){z1[r].setText(document.getElementById(c).innerHTML);});
z1[r].addEventListener('complete',function(client,text){$('#'+a).aH("#D6EBFF",1000);});
z1[r].glue(a,b);}
私は最近、z1をグローバル変数として持つことがどれほど邪悪であるかを理解したので、自分のやり方を修正して、ビジネス全体をバインドするオブジェクトを作成しようとしています。しかし、それは機能していません...
私は次のことをしました:
var zc={
z1: [],
add:function(r){
var a="RP"+r,b="RDC"+r,c="RP"+r;
z1[r]=new ZeroClipboard.Client();
z1[r].addEventListener('mouseDown',function(client){z1[r].setText(document.getElementById(c).innerHTML);});
z1[r].addEventListener('complete',function(client,text){$('#'+a).aH("#D6EBFF",1000);});
z1[r].glue(a,b);}
}
そして、私は今、以前zc.add(r)
のようにではなく、電話をかけていzc(r)
ます。
私が得ているFirebugエラーはですz1 is not defined
。'add'
メソッドが'z1'
プロパティを表示できないのはなぜですか?
[ああ、なぜ私がそのまま入れないのかと聞かれる前にz1
、zc
それはコードの他の場所からアクセスz1
しているためです。そのため、オブジェクトにさらにメソッドを追加します。)