2017-10-19 61 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

相關問題