2011-07-11 6 views
18

クリックしたアンカーのすぐ下に表示されるポップアップdivが必要です。ここで、アンカーのonClickイベントのx座標とy座標を特定したいと考えています。それを行うベストプラクティスは何ですか?使用する推奨イベントプロパティは何ですか?offsetX、offsetYとpageX、pageYの違いは何ですか?

答えて

30

offsetXoffsetYpageXpageY一方、親コンテナに対するものである文書に対するものです。これを.offset().position()と混同しないでください。.offset()は文書に関連し、.position()は親コンテナの.offset()を基準にしています。この例のように

何かが(jQueryのを)動作するはずです:

$('a').click(function(){ 
    var offset = $(this).offset(); 
    $('#popup_div').css('top',offset.top + 'px').css('left',offset.left + 'px').show(); 
}); 

http://api.jquery.com/offset/

http://api.jquery.com/position/

+1

ここドキュメント:(http://api.jquery.com/category/events/event-object/#post-850)pageX/Yが文書に対して相対的であることを示しているように見えます、ページがスクロールされている場合は重要なウィンドウではありません。 – aaronstacy

+1

jQueryの使い方は、この質問に答えることに全く余計です。それを信じるかしないかは、jQueryを必要とせずにx、y座標を決めることができます。 – Neil

+2

4年後...;) – AlienWebguy

3

2 .position()メソッドができますjQueryのドキュメントWebサイト

からの抽出物要素の相対位置を取得するオフセット親

http://api.jquery.com/position/


に.offset()メソッドは、私たちは、文書に対する要素の現在位置を取得することを可能にします。

http://api.jquery.com/offset/