2010/03/11

[JavaScript]firefoxで座標を取得する方法

過去のエントリーを探してもみつからなくて、かつ同じ悩みを抱えている人がいました。

javascript
IEだと下記でマウス座標が取得できます。
x = event.screenX
y = event.screenY
FireFox(できれば他も)で同様の処理を行う方法を教えてください。

via:Hatena::Question

それに対しての回答が、、、

こちらのページはいかがでしょうか?

マウスの座標を取得する

http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter05/013/index.html

via:Hatena::Question

リンクかい!!

リンク先をたどってみると、確かに回答が書いてありました。

window.onmousemove = getMouseXY;
function getMouseXY(evt)
{
x = evt.x;
y = evt.y;
document.getElementById("result1").innerHTML =
"(x,y) = "+x + ", "+y;
x = evt.pageX;
y = evt.pageY;
document.getElementById("result2").innerHTML =
"(pageX,pageY) = "+x + ", "+y;
x = evt.layerX;
y = evt.layerY;
document.getElementById("result3").innerHTML =
"(layerX,layerY) = "+x + ", "+y;
x = evt.clientX;
y = evt.clientY;
document.getElementById("result4").innerHTML =
"(clientX,clientY) = "+x + ", "+y;
x = evt.screenX;
y = evt.screenY;
document.getElementById("result5").innerHTML =
"(screenX,screenY) = "+x + ", "+y;
x = window.pageXOffset;
y = window.pageYOffset;
document.getElementById("result6").innerHTML =
"(pageXOffset,pageYOffset) = "+x + ", "+y;
}

via:マウスの座標を取得する

確かにこれをコピペして実行したら各種座標を取得することができたのですが、すっげー気になるポイントが一箇所あって、

window.onmousemove = getMouseXY;
function getMouseXY(evt)

この時の、evtって実際にどんな値が入ってくるのか??

これがどうしてもわかりません。

例えば、

onclick="hoge(3)"

onChange = "foo('uhehehe')"

などはわかりますが。

うーん、ちょい困っております。

1 件のコメント:

  1. >>evtって実際にどんな値が入ってくるのか??
    IEの時に
    >>x = event.screenX
    ってやってるのと同じで、このevtってのは
    イベントオブジェクトじゃない?
    イベントハンドラに関数を登録して、ハンドラにより関数が呼び出された際のイベントオブジェクト・・ってイメージだと思う。

    返信削除