JavaScriptでマウスの絶対座標を取得する

Firefox2、IE6、IE7SafariOperaのそれぞれの最新版で試したところうまく動きました。

function pos(event){
	if (!event) var event=window.event;
	if (!event.pageX) event.pageX = event.clientX + document.body.scrollLeft;
	if (!event.pageY) event.pageY = event.clientY + document.body.scrollTop;
	alert("x:" + event.pageX + " y:" + event.pageY);
}

実行するHTMLは以下のような感じ。

<a href="javascript:void(0);" onclick="pos(event)">マウス座標を得る</a>

ifでやっていることはIE対策です。
IEだとイベントハンドラで扱うイベントはwindow.eventになるので、posの引数のイベントはnullになってしまいます。
そのため、!eventでチェックしてwindow.eventを入れています。
event.clientXに、document.body.scrollLeftを足しているのはスクロールしていた場合にスクロール分の座標を足すためです。

参考:
JavaScript: マウスストーカー