問題:
將鼠標懸停在一個子元素上時絕對定位的div,div 的onmouseout 事件過早觸發。發生這種情況是因為事件冒泡,子元素事件傳播到其父元素。
解決方案:不使用 jQuery
為了防止懸停子元素時觸發 onmouseout 事件,請改用 onmouseleave 事件。以下是範例:
<div class="outer" onmouseleave="yourFunction()"> <div class="inner"> </div> </div>
解決方案:使用jQuery
jQuery 提供mouseleave() 事件,它完成相同的功能:
$(".outer").mouseleave(function(){ //your code here });
怎麼樣有效:
onmouseleave 事件僅在滑鼠離開指定元素時觸發。透過在父 div 上使用此事件,可以確保只有當滑鼠完全退出 div 時才會觸發 mouseout 事件,即使滑鼠懸停在子元素上也是如此。
以上是如何防止帶有子元素的絕對定位 div 上過早發生「onmouseout」事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!