在微软Edge中,当您展开菜单时,<select>
菜单与其选项之间存在间隙,如下所示:
这可能会导致mouseout
事件出现问题,因为该行为与Chrome不一致.考虑这个最小的例子:
const menu = document.getElementById('menu');
menu.addEventListener('mouseout', (e) => {
// The line below fixes the glitch in Firefox, but not Edge
if (e.relatedTarget === null) return;
document.body.classList.toggle('red');
});
.red {
background: red;
}
<select id="menu">
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>
在Edge中且仅在Edge中,当您在菜单及其展开的选项之间移动鼠标指针时,它会触发mouseout
事件.如何防止Edge中的这种行为?