JavaScript クリックした場所の座標を求める

最終更新日

イベントが発生すると、イベントオブジェクトの各プロパティに座標値が格納されます。求める座標の種類に応じてプロパティが用意されています。座標値はすべてピクセル値で返されます。

プロパティ説明
clientX要素のX座標
clientY要素のY座標
pageXページ上のX座標(スクロール量が加算される)
pageYページ上のY座標(スクロール量が加算される)
screenXモニタ画面上でのX座標
screenYモニタ画面上でのY座標
offsetX要素からのX座標オフセット
offsetY要素からのY座標オフセット
 <body>
<script>
    window.addEventListener("load" , function(){
      
        window.addEventListener("click",coords,false);
        var h1 = document.getElementsByTagName("output")[0];
        h1.addEventListener("click", coords,false);
    }, false);

    function coords(evt){
        var ele = document.getElementsByTagName("output")[0];
        //クライアント座標を求める
        var cx = evt.clientX;
        var cy = evt.clientY;
        //ページ座標を求める
        var px = evt.pageX;
        var py = evt.pageY;
        //モニタ画面上の座標を求める
        var sx = evt.screenX;
        var sy = evt.screenY;
        //オフセット座標を求める
        var ox = evt.offsetX;
        var oy = evt.offsetY;

        ele.innerHTML = "clientX : " +cx+"<br>";
        ele.innerHTML += "clientY : " +cy+"<br>";
        ele.innerHTML += "pageX : " +px+"<br>";
        ele.innerHTML += "pageY : " +py+"<br>";
        ele.innerHTML += "screenX : " +sx+"<br>";
        ele.innerHTML += "screenY : " +sy+"<br>";
        ele.innerHTML += "offsetX : " +ox+"<br>";
        ele.innerHTML += "offsetX : " +oy+"<br>";
        //イベントの伝達を禁止
        evt.stopPropagation();

    }
</script>
<h1>クリックした座標値を表示</h1>
<p>クリックしてください。</p>
<output></output>
</body>

ブラウザのウィンドウ内をクリックすると、クリックした場所の座標値が表示されます。