【发布时间】:2021-09-30 01:25:01
【问题描述】:
我觉得我快疯了...所以,根据我的理解和似乎互联网的普遍共识,mouseout 会在光标上触发,留下一个元素或其任何子元素,而 mouseleave 仅在离开事件附加到的元素的光标上触发。所以我采取了这样的准系统:
<html>
<body>
<div id='test'>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
</div>
<script>
const div = document.getElementById('test');
div.addEventListener('mouseleave', (e) => console.log('out'), true);
</script>
</body>
</html>
... 当鼠标离开该 div 的任何后代时,mouseleave 事件肯定仍在触发。我觉得我一定是在做一些明显错误的事情,但是……什么?
【问题讨论】:
标签: javascript html mouseleave mouseout