現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

イベント

【JavaScript入門】マウス座標の取得方法まとめ|clientX・pageX・screenXの違いをわかりやすく解説

投稿日:2019年6月27日 更新日:

JavaScriptのマウス座標プロパティまとめ|x・y・clientX・pageX・screenXの違いを解説

JavaScript のイベントオブジェクトには、マウスの位置を取得するための
x / y / clientX / clientY / pageX / pageY / screenX / screenY
といったプロパティが用意されています。

これらを使うことで、ページ上・表示領域上・画面上のどこでイベントが発生したかを正確に取得できます。



x / y(マウス座標)

event.xevent.y は、マウスの位置を簡易的に取得するプロパティです。
ブラウザによっては clientX / clientY と同じ値を返します。

使用例:マウスのX座標・Y座標を表示

alert(event.x + “,” + event.y);



clientX / clientY(表示領域内の座標)

clientXclientY は、
ブラウザの表示領域(ビューポート)の左上からの相対座標 を返します。

使用例:表示領域内のX座標を表示

alert(event.clientX);

使用例:表示領域内のY座標を変数に代入

cY = event.clientY;

pageX / pageY(ページ全体の座標)

pageXpageY は、
ページ全体の左上からの相対座標 を返します。
スクロール量も含めた位置を取得できるため、ページが長い場合に便利です。

使用例:フォームに座標を代入

document.eForm.px.value = event.pageX;
document.eForm.py.value = event.pageY;

screenX / screenY(画面全体の座標)

screenXscreenY は、
ディスプレイ画面の左上からの相対座標 を返します。

使用例:画面上のY座標が250px以上なら処理を実行

if (event.screenY >= 250) myFunc();



マウス座標プロパティの違いまとめ

プロパティ 基準位置
x / y ブラウザによって clientX / clientY と同じ
clientX / clientY 表示領域(ビューポート)の左上
pageX / pageY ページ全体の左上(スクロール量を含む)
screenX / screenY ディスプレイ画面の左上

実際のサンプル(座標をリアルタイム表示)

<div onclick=”console.log(‘client:’, event.clientX, event.clientY, ‘page:’, event.pageX, event.pageY)”>
  クリックして座標を確認
</div>

まとめ

  • x / y:簡易的なマウス座標
  • clientX / clientY:表示領域内の座標
  • pageX / pageY:ページ全体の座標(スクロール含む)
  • screenX / screenY:画面全体の座標
  • 用途に応じて使い分けることで正確な位置取得が可能

関連リンク

-イベント
-

執筆者:

関連記事

【JavaScript入門】onkeydown・onkeypress・onkeyupの使い方|キー操作イベントの発生タイミングを徹底解説

JavaScriptのonkeydown・onkeypress・onkeyupとは?キー操作で発生するイベントを解説 onkeydown・onkeypress・onkeyup は、 キーボードの操作に …

【JavaScript入門】onchange・onselectの使い方|入力内容の変更・文字選択時のイベント処理を解説

JavaScriptのonchange・onselectとは?入力内容の変更・選択時に発生するイベントを解説 onchange と onselect は、フォーム要素の内容が変化したとき、または文字が …

【JavaScript入門】onsubmitの使い方|フォーム送信前に入力チェックを行う方法を解説

JavaScriptのonsubmitとは?フォーム送信前に入力チェックを行う方法を解説 onsubmit は、フォームが送信される直前に発生するイベントです。 このイベントの戻り値が false の …

【JavaScript入門】onresizeの使い方|ウィンドウサイズ変更時に処理を実行する方法

JavaScriptのonresizeとは?ウィンドウサイズ変更時に処理を実行する方法 onresize は、ウィンドウやフレームのサイズが変更されたときに発生するイベントです。 画面サイズに応じてレ …

【JavaScript入門】onabort・onerrorの使い方|画像読み込み中断・失敗時のイベント処理を解説

JavaScriptのonabort・onerrorとは?画像読み込み中断・失敗時のイベント処理を解説 onabort と onerror は、画像が正常に読み込めなかった場合に発生するイベントです。 …