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

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

イベント

【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入門】onchange・onselectの使い方|入力内容の変更・文字選択時のイベント処理を解説

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

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

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

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

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

【JavaScript入門】oncontextmenuの使い方|右クリック時のコンテキストメニュー制御をわかりやすく解説

JavaScriptのoncontextmenuとは?右クリック時のコンテキストメニュー制御方法を解説 oncontextmenu は、マウスの右クリックによってコンテキストメニューが表示される直前に …

【JavaScript入門】onload・onunloadの使い方|ページ読み込み時・離脱時のイベント処理をわかりやすく解説

JavaScriptのonload・onunloadとは?ページ読み込み時・離脱時のイベント処理を解説 onload と onunload は、ページの読み込み完了時やページ移動時に処理を実行するため …