onmouseleave - マウスポインタが離れた時に発火する

投稿日:

JavaScriptのイベントハンドラ、onmouseleaveの説明です。

説明

イベントハンドラのonmouseleaveは、マウスポインタが対象要素から離れた時に発火します。

onmouseleave…発火する / onmouseout…発火する
onmouseleave…発火する / onmouseout…発火する

「離れた時」とは具体的に、図のように対象要素(茶色)の領域内から領域外に出た時を指します。これは、onmouseoutと同じ条件です。

onmouseleaveとonmouseoutの違い

onmouseleave…発火しない / onmouseout…発火する
onmouseleave…発火しない / onmouseout…発火する

茶色の要素にイベントを設定してあります。マウスポインタと対象要素(茶色)の間に、別の要素(青色)がある位置に移動します。この時、マウスポインタは別の要素(青色)の上にありますが、まだ対象要素(茶色)の領域内に残っているので、onmouseleaveは発火しません。一方、onmouseoutは発火します。

サンプルコード

<div id="target"></div>
// 要素を取得
var divElement = document.getElementById( "target" ) ;

// 処理を定義
var action = function() {
	// 処理内容
}

// イベントを設定 ( addEventListener )
divElement.addEventListener( "mouseleave", action ) ;

// イベントを削除
divElement.removeEventListener( "mouseleave", action ) ;
// 要素を取得
var divElement = document.getElementById( "target" ) ;

// イベントを設定 ( onmouseleave )
divElement.onmouseleave = function() {
	// 処理内容
}

// イベントを削除
divElement.onmouseleave = null ;

デモ

onmouseleaveイベントを設定しました。マウスポインタを要素上で動かしてみて下さい。イベントが発火するごとに、発生回数がカウントアップされます。

関連項目

外部リンク