JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのclientXマウスイベントとは?マウスポインタのX座標を取得する方法

マウスイベントが発生した際に、clientXプロパティを使用すると、マウスポインタの水平方向(X軸)の座標を取得できます。この座標は、現在表示されているウィンドウ(ビューポート)の左上を原点とした相対的な位置を表します。

clientXの基本的な役割

clientXはMouseEventオブジェクトの読み取り専用プロパティで、クリックやマウス移動などのイベントが起こった瞬間のポインタの横位置をピクセル単位の数値として返します。縦方向の座標を取得したい場合は、対となるclientYプロパティを使用します。

実装例

以下のコードを実行して、JavaScriptでclientXマウスイベントを実装する方法を確認してみましょう。テキスト部分をクリックすると、マウスポインタのX座標(水平)とY座標(垂直)が現在のウィンドウ基準で表示されます。

<!DOCTYPE html>
<html>
   <body>
      <p onclick = "coordsFunc(event)">
         ここをクリックすると、マウスポインタの
         X座標(水平)とY座標(垂直)を
         (現在のウィンドウ基準で)取得できます。
      </p>
      <script>
         function coordsFunc(event) {
            var x_coord = event.clientX;
            var y_coord = event.clientY;
            var xycoords = "X座標= " + x_coord + ", Y座標= " + y_coord;
            document.write(xycoords);
         }
      </script>
   </body>
</html>

補足:類似プロパティとの違い

clientX / clientYはビューポート基準の座標を返すため、ページをスクロールしても値は変わりません。一方、pageX / pageYはドキュメント全体の左上を基準とし、スクロール量が加算された座標を返します。また、screenX / screenYはモニター画面の左上を基準とします。用途に応じてこれらを使い分けることで、ツールチップの位置指定やドラッグ&ドロップ機能など、さまざまなインタラクティブな処理を実装できます。

  1. JavaScriptのscreenXマウスイベントとは?役割と使い方を実例で解説

    マウスイベントが発生したとき、screenXプロパティは、画面(スクリーン)の左上を基準としたマウスポインタのX座標(水平方向の位置)をピクセル単位で返します。 screenXとscreenYの基本的な役割 イベントオブジェクトが持つscreenXは水平方向(X座標)、screenYは垂直方向(Y座標)を表します。この2つはブラウザウィンドウやWebページではなく、ユーザーの物理的な画面全体を基準にした座標を返す点が大きな特徴です。 似た用途の座標プロパティと比較すると、違いがより明確になります。 screenX / screenY:モニター画面全体を基準とした座標 clientX / cl

  2. 【JavaScript】キーボードイベントのaltKeyプロパティとは?役割と使い方を解説

    altKeyプロパティとはJavaScriptのaltKeyプロパティは、キーボードイベントが発生した瞬間にAltキー(MacではOptionキー)が押されていたかどうかを判定するためのプロパティです。このプロパティは真偽値(Boolean)を返します。true … イベント発生時にAltキーが押されていたfalse … Altキーは押されていなかった関連する修飾キーのプロパティaltKeyと同じ仕組みで、他の修飾キーの状態も取得できます。組み合わせて使うことで、より柔軟なキーボード操作の判定が可能になります。ctrlKey … Ctrlキーの状態shiftKey … Shiftキーの状態me