1

現在ホバーされている要素の要素IDを取得してポップアップボックス/ツールチップを表示する方法を見つけようとしています。現時点では clientX / clientY を使用して座標を取得していますが、ポップアップをホバリングしている要素の中央に配置したいと思っています。

この情報を取得する方法はありますか。たとえば、「show_tooltip を呼び出した人」など、後で要素の座標を取得する方法はありますか。これが理にかなっていることを願っています。

以下のコメントに応えて、これは私が現在使用しているものです。

function show_tooltip(evt) {
    var x = evt.clientX -50;
    var y = evt.clientY -70;

    tooltip.setAttributeNS( null, "transform", "translate(" + x + "," + y + ")" );
    tooltip.setAttributeNS( null, "opacity", "0.7" );
}

これに関する問題は、マウス ポインターが座標に使用されることです。を使用して要素を取得できますが、どのgetElementById()要素が関数を呼び出したのかわかりません。

4

3 に答える 3

1

これがあなたが探しているものかどうかわかりません:

<div onmouseover="show_tooltip(this)"/>

そして、js 関数でイベントを発生させた要素を取得します。

于 2012-04-23T15:48:04.257 に答える
0

Event.target (スクリプト内evt.target) は、イベントのターゲット (通常は要素) を保持します。

于 2012-04-24T13:07:37.583 に答える
0

http://docs.jquery.com/Plugins/Tooltip ( demo )をご覧ください。この種のプラグインは、すでに何度も開発されています。これはほんの一例です。

于 2012-04-23T14:46:42.273 に答える