Tips

SVG要素のid属性を設定するときの注意点

日付2009/05/08
ID74734 (英語原文参照)
バージョン11
プラットフォームMac & Win

SVG要素のid属性は、そのイメージを動的に処理する上で欠かせないものです。そのような理由で、id属性はよく考えて設定するべきです。

推奨されるのは、SVGイメージを作成後、すぐにSVG_SET_IDでid属性を設定するというものです。

$svg_rootElement = SVG_New ($width;$height;$title)
SVG_SET_ID ($svg_rootElement;"MainDocID")

上記のように設定しておき、以後、クリックに反応して欲しい属性にだけidを与えるようにします。それらのidは"MainDocID"(あるいは代わりに使用した名前)とは重複しないようにして下さい。このようにしておけば、idの設定されていない要素がクリックされた場合、それらは透明であるかのように振る舞い、クリックはより下位の属性に流れて、最終的にidを有する最前面の属性に落ち着きます。クリックできるオブジェクトが何もない領域であれば、そのクリックは"MainDocID"が受け取るので、それを適切に処理することができるでしょう。

作成された属性すべてにidを割り振るというSVG_SET_IDでid属性を設定するという方法もあります。その場合、クリックに反応しなくても良い要素には、共通のidを与えれば良いでしょう。気をつけなければいけないのは、クリッカブルオブジェクトが前面に描かれるようにするという点です。すべての要素にidが設定されている以上、より前面に配置されたオブジェクトは、背面のオブジェクトがクリックされるのを妨げる動きをするからです。