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

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

イベント

【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>

JavaScript 初心者におすすめの学習書籍

手を動かしながら JavaScript を学びたい方には、初心者向けにやさしく解説された実践型の入門書があります。
実際に動くサンプルを使って学べるため、基本をしっかり身につけたい方に最適です。
→ いちばんやさしい JavaScript の教本

JavaScriptの基礎を体系的に学びたい方には、こちらの書籍がとても分かりやすくおすすめです。
初心者がつまずきやすいポイントを丁寧に解説している入門書です。
→ 確かな力が身につくJavaScript「超」入門



まとめ

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

関連記事

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

2019/06/17   -イベント
 

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

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

2019/06/13   -イベント
 

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

【JavaScript入門】event.target・event.typeの使い方|イベント発生元と種類を取得する方法

2019/06/24   -イベント
 

JavaScriptのevent.target・event.typeとは?イベント発生元と種類を取得する方法 event.target と event.type は、イベントオブジェクトから 「どの要 …

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

2019/06/20   -イベント
 

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

【JavaScript入門】keyCodeの使い方|押されたキーのコードを取得する方法を解説

2019/06/23   -イベント
 

JavaScriptのkeyCodeとは?押されたキーのコードを取得する方法を解説 event.keyCode は、キーボードで押されたキーのコード(キーコード)を取得するためのプロパティです。 どの …

このブログは Xserver 上の WordPress で運用しています。
表示速度が速く、安定しているのでブログ初心者にもおすすめです。
レンタルサーバー エックスサーバー

-イベント
-

執筆者: