2012-08-02 103 views

回答

6

看到這個小提琴:http://jsfiddle.net/msNhr/3/(試了FX14和Ch 21.0.1180.57)

我剛停下mouseleave事件的傳播,這樣就不會達到覆蓋

相關JS

$(function() { 
    $('#a').mouseenter(function() { 
     $('#overlay').show(); 
    }); 
    $('#overlay').mouseleave(function() { 
     $(this).hide(); 
    }); 
    $('#overlay select').mouseleave(function(ev) { 
     ev.stopPropagation() 
    }); 
}); 
+0

這是一個很大的改進,也許是我們能做的最好的。但是,在正常情況下,疊加層對於其中包含的元素來說足夠大,如果用戶在鼠標位於疊加層之外時單擊選擇選項,覆蓋層將保持打開狀態。它不會關閉,直到用戶再次將鼠標移出並重新移出,因爲鼠標已經離開它。您可以通過從.overlay中移除高度規格來在小提琴中看到它。我沒有更好的解決方案。如果有人這樣做,請說出來,這對我來說是一個長期的問題。 – enigment 2014-09-29 23:46:08

相關問題