Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。
マウスポインタのページ内座標を取得するJavascript。
Opera 9、Safari 1.2、IE 5-7、Firefox 2で確認済み。
Script
function setPosition(){target = document.getElementById('sampleform');window.document.onmousemove = function(e){target.onmouseX.value = getMousePosition(e).x;target.onmouseY.value = getMousePosition(e).y;}}
この関数をOnloadで実行して描写する。座標の取得タイミングは上記では「onmousemove」になっていますが、たとえば「onmousedown」でも可能です。
function getMousePosition(e) {var obj = new Object();if(e) {obj.x = e.pageX;obj.y = e.pageY;}else {obj.x = event.x + document.body.scrollLeft;obj.y = event.y + document.body.scrollTop;}return obj;}
上記が座標を取得する関数。イベントオブジェクトを取得し、イベントが発生した位置を返している。イベントオブジェクトの振る舞いはブラウザによって異なるので、if文で処理を変えています。
Note: スパム対策が面倒なので、コメント投稿を廃止しました。以前のコメントは残します。
ご意見・ご要望はtwitter@sigwygかはてブコメントにて。