« StateServiceにやられる | トップページ | Ajax.NETを使ってみる »

JavaScriptでイベントの発生位置を取得する際の注意

JavaScriptでイベント発生時の位置を取得するには、

eventオブジェクトのpageX,pageYをそれぞれ利用するが、IE(検証は6のみ)では、undefinedが

帰ってきてしまう。


そこで、IEでは下記のようにすることで回避が可能。


xpoint = document.body.scrollLeft +event.x;

ypoint = document.body.scrollTop +event.y;


よくevent.x,event.yで座標を取る例が書いてあるが、x,yは、それぞれ表示してるウィンドウ(フレームが切ってある場合は別)の左上からの位置だが、スクロールしている場合には、あまり有効な値とはいえない。


ページの左上からの位置を取るには、上記のようにpageXを使うか、スクロール位置とxの値を足した値を

利用しなければ実際のページ位置は取得できない。

|

« StateServiceにやられる | トップページ | Ajax.NETを使ってみる »

「JavaScriptの話」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/120118/2453162

この記事へのトラックバック一覧です: JavaScriptでイベントの発生位置を取得する際の注意:

« StateServiceにやられる | トップページ | Ajax.NETを使ってみる »