2012-04-23 12 views
1

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

「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()を使用することができますが、私はのどれですか?要素を呼び出す要素は分かりません。

+0

コードで必要なものの例を見せてもらえますか? – kjy112

答えて

1

これはあなたが探しているものであれば、私にはわからない:

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

そして、あなたは、JS関数でイベントを解雇した要素を取得します。

+0

あなたより!これは実際に問題を解決しました。私は ''タグを使ってグループ化していますが、うまくいきました。私はshow_tooltipの引数として 'this'を追加し、関数の中で要素のx座標とy座標を取得する' getAttribute'を追加しました。 – foo

+0

私はそれが助けてくれてうれしいです – raven1981

0

おそらくhttp://docs.jquery.com/Plugins/Tooltipdemo)をご覧になれます。その種類のプラグインは既に多くの時間発展してきました。これは単なる例です。

+0

これで問題は解決しますが、質問には答えません。マウスがどの要素を指しているのか、どのようにして情報を得ることができますか? – foo

+0

まず、すべての要素に、例えば 'class =" hoverable "'など、ホバリング可能なクラスを追加します。次に、jQueryを使って '$(" .hoverable ")のようなことをすることができます。ホバー(function(){// ...})' – sp00m

0

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

関連する問題