onmousemoveイベント

onmousemoveイベント(マウスムーブイベント)とは、マウスのポインタ(カーソル)を移動させている時のイベント。

構文

HTML

<element onmousemove="イベントハンドラ">

ボタン要素
<button onmousemove="イベントハンドラ">ボタン</button>
DIV要素
<div onmousemove="イベントハンドラ">DIV項目</div>

JavaScript

object.onmousemove = function(){ イベントハンドラ };

サンプル1

HTMLドキュメント上でイベントハンドラを登録するサンプル。

X座標:

Y座標:

サンプル1の動作について

  1. 黄色いボックス要素の上でマウスのポインタ(カーソル)を移動すると、「X座標:」と「Y座標:」の右横に、マウスのポインタの位置の座標を表示する。
  2. 黄色いボックス要素の上からマウスのポインタを外すと、「X座標:」と「Y座標:」の右横の数値が消える。

サンプル1のソースコード

JavaScript

<script type="text/javascript">
function sample1getCoordinates( $event ) {
 document.getElementById( "sample1outputX" ).innerHTML = "X座標:" + $event.clientX;
 document.getElementById( "sample1outputY" ).innerHTML = "Y座標:" + $event.clientY;
}
function sample1clearCoordinates() {
 document.getElementById( "sample1outputX" ).innerHTML = "X座標:";
 document.getElementById( "sample1outputY" ).innerHTML = "Y座標:";
}
</script>

HTML

<div id="sample1box" onmousemove="sample1getCoordinates(event);" onmouseout="sample1clearCoordinates();"></div>
<p id="sample1outputX">X座標:</p>
<p id="sample1outputY">Y座標:</p>

CSS

<style>
#sample1box {
 height: 200px;
 width: 300px;
 border: 1px solid gray;
 border-radius: 10px;
 background-color: yellow;
}
</style>

サンプル2

JavaScript上で動的にイベントハンドラを登録するサンプル。

X座標:

Y座標:

サンプル2の動作について

  1. 黄色いボックス要素の上でマウスのポインタ(カーソル)を移動すると、「X座標:」と「Y座標:」の右横に、マウスのポインタの位置の座標を表示する。
  2. 黄色いボックス要素の上からマウスのポインタを外すと、「X座標:」と「Y座標:」の右横の数値が消える。

サンプル2のソースコード

JavaScript

<script type="text/javascript">
window.onload = function () {
 document.getElementById( "sample2box" ).onmousemove = function( event ){
  sample2getCoordinates( event.clientX, event.clientY );
 };
 document.getElementById( "sample2box" ).onmouseout = function(){
  sample2clearCoordinates();
 };
}
function sample2getCoordinates( $arg1, $arg2 ) {
 document.getElementById( "sample2outputX" ).innerHTML = "X座標:" + $arg1;
 document.getElementById( "sample2outputY" ).innerHTML = "Y座標:" + $arg2;
}
function sample2clearCoordinates() {
 document.getElementById( "sample2outputX" ).innerHTML = "X座標:";
 document.getElementById( "sample2outputY" ).innerHTML = "Y座標:";
}
</script>

HTML

<div id="sample2box"></div>
<p id="sample2outputX">X座標:</p>
<p id="sample2outputY">Y座標:</p>

CSS

<style>
#sample2box {
 height: 200px;
 width: 300px;
 border: 1px solid gray;
 border-radius: 10px;
 background-color: yellow;
}
</style>

スポンサード リンク

カテゴリー: DOM, JavaScript, イベント, マウスイベント, リファレンス パーマリンク