2017-10-19 127 views
2

我有以下问题:在Mozilla Firefox中,每当我悬停一个dropdown表,它触发mouseleave事件的表,虽然鼠标光标还在里面桌子。 Chrome或Edge中没有这样的问题。选择触发Mozilla Firefox的父元素鼠标离开事件

这是我的代码的示例性数据:

DEMO

我有一个表,并且当鼠标光标进入表出现的最后一行。当鼠标离开时 - 行隐藏。 只有当我离开表格时该行才应该隐藏

有没有某种方法或解决方法来防止发生不必要的mouseleave事件?

回答

1

可以测试选择在鼠标离开这样的:

$('.testTable').mouseenter(function(e) { 
    console.log("IN!") 
    $("#lastRow").show(); 
}).mouseleave(function(e) { 
    if (e.target.nodeName.toLowerCase() !== "select") { 
     console.log("OUT!") 
     $("#lastRow").hide(); 
    } 
}); 

Fiddle here.

+0

我想出了一个类似的解决方案。虽然这并不能完全解决问题。如果您从下拉菜单悬停到右侧/左侧并返回,它仍会触发鼠标轮,因为目标将是​​。 –

+0

是的,它真的非常接近我所需要的,但仍然不能很好地工作。如果光标在桌子内,它根本不应该开火。但是,无论如何感谢:) – Nyagolova

+1

是的,似乎基于他们如何实现组件的FF限制。我不确定是否有其他解决方法(但是如果您发现某个解决方案,您应该将其作为答案帮助其他遇到此问题的人员发布)。棘手的一个,但一个有趣的问题! – delinear

相关问题