2011-08-02 4 views
0

私は自分のページに複数の論文を追加している状況があります。私はそれぞれの上に特定のrectとpathオブジェクトを描いています。私はそのようなオブジェクトのそれぞれにIDを与える方法を知っていますが、私はIDを用紙自体に追加する例は見ていません。私は紙の中の矩形のクリックイベントでオブジェクトを変更する必要があります。このため私は古いオブジェクトをクリアして新しいオブジェクトを描画します。問題は、私が論文の変数を再利用していることです。したがって、変数には、私が望むものではない最新の論文への参照が含まれています。これらのすべてのため、私はそれぞれにIDを付けて紙を取り出して使用できるかどうか疑問に思っていました。 ご提案は大歓迎です。 Kavitaidを持つRaphael紙

こんにちは、 クリックした形からペーパーオブジェクトを取得できません! this.paperは、$(これは)いけない仕事.paper。すべてのヘルプは高く評価され ...

答えて

1

このfiddleを見てみましょう。あなたは

$(object.node).mouseover(function() {...}) 

のようなものを使用してイベントハンドラを設定している場合は、関数内でthisを参照するとき、それはDOMノードではなく、ラファエルオブジェクトを参照します。したがって、Raphaelのプロパティまたはメソッドにアクセスすることはできません。私がこれを動かすことができる唯一の方法は、次のようなイベントデータにRaphaelオブジェクトを渡すことです:

$(object2.node).mouseover({rObj: object2}, 
          function (e) { 
           e.data.rObj.paper.clear(); 
          });