0

私のコード ビハインドでは、定数 String と String.Format を使用して一連の svg 要素を作成しています。

const string BoxTemplate = "<rect x=\"{0}\" y=\"{1}\" height=\"{2}\" width=\"{3}\" fill=\"{4}\" stroke=\"#707070\" onmouseover=\"showToolTip()\"/>";
string s = String.Format(BoxTemplate, x, y, h, w, color);

次に、リテラル コントロールを使用して画像をレンダリングします。

マウスオーバーまたはその他のイベントで使用する要素に、データまたは少なくともデータキーを含めたいと思います。id を datakey に設定することも考えましたが、複数の画像が同じデータを参照する場合があります。

どの要素が「マウスオーバー」されたかをJavaScript関数に認識させ、そのデータ/データキーにアクセスさせる最良の方法は何ですか.

4

1 に答える 1

0

thisを関数のパラメータとして使用できます。レンダリング時にパラメータがある場合は、追加のパラメータを追加することもできます。

これは私のために働く:

<html>

    <script>
        function showToolTip(obj, datakey) {
            alert("ID=" + obj.id + " datakey=" + datakey);
        }
    </script>
    <body>
        <svg>
            <rect id="The_ID" x="10" y="10" height="100" width="100" fill="black" stroke="#707070" onmouseover="showToolTip(this, 'datakey1')"/>
        </svg>
        <svg>
            <rect id="The_other_ID" x="110" y="10" height="100" width="100" fill="black" stroke="#707070" onmouseover="showToolTip(this, 'datakey2')"/>
        </svg>
    </body>
</html>
于 2013-02-01T13:22:04.657 に答える