jQueryオブジェクトの mouseleave メソッドは、要素の上に乗っていたマウスカーソルが要素から外れたときに実行するJavaScriptの処理を指定できる。
mouseleave と似たイベントに mouseout がある。mouseleave イベントがバブリング(下位の要素で発生したイベントが上位の要素へ伝播する)しないのに対して、mouseout イベントはバブリングする。
イベント | バブリング |
---|---|
mouseleave | しない |
mouseout | する |
mouseout イベントはバブリングするので、子孫要素からマウスカーソルが離れたときにもイベントが発生する。
要素からマウスカーソルが降りたときのイベントハンドラを指定する。
jQueryObject.mouseleave(handler)
on メソッドを使ってイベントハンドラを設定することもできる。
jQueryObject.on('mouseleave', handler)
mouseleave イベントを発生させる。
jQueryObject.mouseleave()
trigger メソッドを使って mouseleave イベントを発生させることもできる。
jQueryObject.trigger('mouseleave')
画像の中にマウスカーソルを出し入れしたときに、不透明度を変更する例を次に示す。
<img src="portrait.jpg" id="portrait">
<script>
let e = $('#portrait')
e.mouseenter(function(){
e.css('opacity', '.5')
})
e.mouseleave(function(){
e.css('opacity', '1')
})
</script>
OpenJS Foundation and jQuery contributors (2022) .mouseleave()