问题:
将鼠标悬停在一个子元素上时绝对定位的 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中文网其他相关文章!