ページ上の div 要素に SVG グラフを描画するような処理を行う JavaScript ライブラリ (.js ファイル) があるとします。ライブラリはビジネス ロジックを適用し、要素がクリックされたときなどのイベント ハンドラーも作成します。疑似コードは次のようになります。
myLib = {};
myLib.dummy = null;
mylib.doStuff = function(divID) {
//divID is the ID of the element on which SVG graph will be drawn
//does graph drawing and sets up myLib.dummy for feedback or such, e.g.:
myLib.dummy = $("#divID").width();
}
私の質問は、このスクリプトを同じページの 2 つ (またはそれ以上) の要素に適用し、各要素に関連する myLib の個別の「インスタンス」を持ちたい場合をどのように処理するかです。私はページからこのように呼び出すことができないことを知っています:
myLib.doStuff('topDiv'); //myLib.dummy will be say 400;
myLib.doStuff('bottomDiv'); //myLib.dummy will be say 600;
上記のコードでは、同じ名前空間を使用しているため、ID = 'topDiv' の div に関連する myLib.dummy にアクセスできなくなります。
設計パターンが欠落しているか、単に名前空間が原因であると思われます。
提案や助けをいただければ幸いです。