--- title: 'Element: mouseout イベント' slug: Web/API/Element/mouseout_event tags: - API - DOM - Event - Interface - MouseEvent - Reference - events - mouse - mouseout - move - イベント - マウス translation_of: Web/API/Element/mouseout_event ---
mouseout
イベントは {{domxref("Element")}} において、ポインティングデバイス (普通はマウス) を使用してカーソルが要素またはその子要素のうちの一つに含まれなくなったときに発生します。 mouseout
は、カーソルが子要素に入った場合にも要素に配信されますが、これは子要素が要素の可視領域を覆い隠すためです。
バブリング | あり |
---|---|
キャンセル | 可 |
インターフェイス | {{domxref("MouseEvent")}} |
イベントハンドラープロパティ | {{domxref("GlobalEventHandlers.onmouseout", "onmouseout")}} |
以下の例は mouseout
イベントの使い方を示しています。
以下の例は、 mouseout
と {{domxref("Element/mouseleave_event", "mouseleave")}} の各イベントの違いを説明しています。 mouseleave
イベントを {{HTMLElement("ul")}} に追加し、マウスが <ul>
を出るたびにリストを紫色に着色するようにします。 mouseout
をリストに追加し、マウスがそこを出ると対象の要素をオレンジ色に着色するようにします。
これを試してみると、 mouseout
はそれぞれのリスト項目に配信されるのに対し、 mouseleave
は項目の階層構造のおかげでリスト全体に行き、リストの項目は、その下にある <ul>
を不明瞭にします。
<ul id="test"> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul>
let test = document.getElementById("test"); // マウスが <ul> を出るとリストを一時的に紫色にします // ときに1度だけ実行されます test.addEventListener("mouseleave", function( event ) { // mouseleave の対象を強調 event.target.style.color = "purple"; // 少し待ってから色をリセット setTimeout(function() { event.target.style.color = ""; }, 1000); }, false); // マウスが出ると <li> を一時的にオレンジ色にします test.addEventListener("mouseout", function( event ) { // mouseout の対象を強調 event.target.style.color = "orange"; // 少し待ってから色をリセット setTimeout(function() { event.target.style.color = ""; }, 500); }, false);
{{EmbedLiveSample("mouseout_and_mouseleave", 640, 200)}}
仕様書 | 状態 |
---|---|
{{SpecName('UI Events', '#event-type-mouseout', 'mouseout')}} | {{Spec2('UI Events')}} |
{{SpecName('DOM3 Events', '#event-type-mouseout', 'mouseout')}} | {{Spec2('DOM3 Events')}} |
{{Compat("api.Element.mouseout_event")}}