2

Firefox 12.0 以降.offset().position()は、SVG (ルート) 要素で呼び出されたときに予期しない値が返されます。

結果の値は、「左」コンポーネントの一番左の子の x 座標と、「上」コンポーネントの一番上の子の y 座標です。

$(this.SvgObject).offset().left / $(this.SvgObject).offset().top

Firefox で予期しない値を返します。

しかし、親オフセットを取得すると、正しい値が得られます(つまり):

$(this.SvgObject).parent().offset().left 

しかし、それは正しい方法ではありません。

このバグレポートを参照してください。彼らは次のように答えました。

「残念ながら、SVG に関連するバグをすぐに修正する予定はありません。」

SVGでこれを解決するにはどうすればよいですか?

4

2 に答える 2

1

私は同じ問題に直面していました。ラファエル図を描き始める前に偽の境界を作成したところ、問題が解決しました。

// adding following rect just to set the boundary of svg element (firefox)
paper.rect(0,0,paperWidth,paperHeight,0).attr({stroke: "#fff"});
于 2013-03-29T12:26:07.197 に答える