0

RaphaelJS の紙のオブジェクトに基本的な四角形を追加し、その四角形にいくつかのカスタム属性を設定する次のようなスクリプトがあります。

var furniture = paper
  .rect(0, 0, 100, 200)
  .attr({
    fill: '#ccc'
  })
;


furniture.node.id = 'some-id';
$(furniture.node).attr('class','draggableFurniture');
$(furniture.node).attr('productId','1234');
$(furniture.node).attr('title','Some title');
$(furniture.node).attr('price','123.99');

これは IE9 や Firefox/Chrome などではうまく機能しますが、IE8 や 7 では機能しません。これはおそらく、これらのブラウザーが SVG ではなく VML を使用しており、おそらく VML には SVG のように使用できる DOM 構造がないためです。

すべてのブラウザー (少なくとも IE8 と 7 を含む) で一貫してこれらのオブジェクトにカスタム属性を取得するにはどうすればよいのでしょうか?

ありがとう!

4

2 に答える 2

0

並べ替えました!Raphael APIには、「データ」(http://raphaeljs.com/reference.html#Element.data)と呼ばれるメソッドがあり、紙の各アイテムにカスタムのキーと値のペアを設定できます。アイテムの配列を受け入れませんが、このメソッドを複数回呼び出すことができるため、各属性をこの方法で追加できます。例はここで見ることができます:http ://www.irunmywebsite.com/raphael/additionalhelp.php?v = 2&q = element.data#pagetop

于 2012-01-30T17:07:16.690 に答える