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かはてブコメントにて。