【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【JavaScript】mousemoveイベントとは?マウスカーソルが動いた時にイベント実行

こちらの記事では、JavaScriptのmousemove(マウスムーブ)イベントについてサンプルコードを用いて分かりやすく解説しています。

JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
総合評価
( 5 )
メリット
  • 誰でも分かるように嚙み砕いて説明してくれる
  • アニメーションの知識が深く学べる
  • 1つのWebサイトを作りながら学べる
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

mousemoveイベントとは

mousemoveイベントとは、イベントを設定した要素内でマウスカーソルが移動したタイミングで実行されるイベントです。

要素内の位置座標を取得したり、Canvasとmousemoveイベントを組み合わせてお絵描きアプリなどを作ることができます。

mousemoveイベントの使い方

mousemoveイベントは「addEventListenerメソッド」「onmousemoveプロパティ」「onmousemove属性」の3つの書き方があります。

▼トリガーになる要素を取得(addEventListenerとonmousemoveプロパティで使用)
const elem = document.getElementById('js-elem'); // トリガーになる要素を取得

▼addEventListenerメソッド
elem.addEventListener('mousemove',function(){ // 第一引数にmousemoveを指定
  // 処理を記述
});

▼onmousemoveプロパティ
elem.onmousemove = function(){
  // 処理を記述
};
▼onmousemove属性
<button onmousemove="mousemoveEvent()">テキスト</button>

<script>
function mousemoveEvent(){
  // 処理を記述
};
</script>

サンプルコード

こちらで紹介するサンプルコードは、背景色が朱色のコンテンツにマウスカーソルを重ねて移動させると、要素内の座標値XとYが表示されます。

<style>
#js-move{
  max-width:500px;
  height:250px;
  background:#e94709;
  display:flex;
  align-items:center;
  justify-content:center;
}
</style>

<div id="js-move">ここでマウスカーソルを移動させてね!</div>
<p>現在の座標</p>
<p>X:<span id="point-x"></span></p>
<p>Y:<span id="point-y"></span></p>

<script>
const moveElem = document.getElementById('js-move'); // ①
const pointX = document.getElementById('point-x');   // ②
const pointY = document.getElementById('point-y');   // ②
  
moveElem.addEventListener('mousemove',function(e){ // ③
  pointX.textContent = e.offsetX; // ④
  pointY.textContent = e.offsetY; // ④
})
</script>
実行結果
ここでマウスカーソルを移動させてね!
現在の座標 X: Y:

サンプルコード解説
  • mousemoveイベントを設定する要素を取得
  • 座標値XYを表示させるための要素を取得
  • ①で取得した要素に対してmousemoveイベントを設定し、座標値取得のため引数eを記述
  • 引数eを使い座標値XYを取得し、②の変数に代入し表示させる

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次