0

ラファエルJSによって生成されたSVG円要素のツールチップとして、ラファエルJSで長方形要素を作成しています。Internet Explorerで次のコードを使用して、円の中心の座標(長方形のツールチップを配置する必要があります)にアクセスできません。

var c = {};
c.x = parseInt(c_element.node.attributes[0].nodeValue);
c.y = parseInt(c_element.node.attributes[1].nodeValue);

//code for the rectangle element tooltip
r = paper.rect(c.x,c.y,50,50);

Firefoxでは正常に動作します。しかしIEでは、ツールチップはdivの左上隅に作成され、必要に応じて円の中心ではなく、私のラファエルJSペーパーを囲みます。

このクロスブラウザの問題を解決するにはどうすればよいですか?助けてください..

4

1 に答える 1

1

IEがこれを好まない理由はわかりませんが、もっと簡単な方法があります。

c.x = c_element.attr("cx");
c.y = c_element.attr("cy");

jsFiddle

Raphaelオブジェクトをコンソールに記録すると、「attrs」プロパティをチェックして、そこに何が含まれているかを確認できます。Raphaelオブジェクトの種類ごとに異なります。

私たち全員がここにいる間:ツールチップに絶対位置のdivを使用することを強くお勧めします。HTMLは、テキストの折り返しやツールチップのサイズ変更などを処理して、SVGテキスト要素よりもはるかに簡単にさまざまな量のテキストに対応します。この回答を参照してください。(使用するものが何であれ、円の座標にアクセスする必要があります。)

于 2012-12-28T16:08:05.633 に答える