2011-10-17 30 views
2

在我的代碼中,我有一個ID爲'SIAinfoBox'的div,要根據鼠標當前結束的div來加載不同的細節。我附加以下兩個聽衆的每一個相關的div:Mouseenter只在IE9的透明div的邊框上觸發

$(annoDiv).mouseover(function(event){ 
       event.stopPropagation; 
       $('#SIAinfoBox').empty(); 
       $('#SIAinfoBox').append(details); 
       $('#SIAinfoBox').css('visibility','visible'); 
      }); 
$(annoDiv).mouseleave(function(event){ 
       event.stopPropagation; 
       $('#SIAinfoBox').empty(); 
       $('#SIAinfoBox').css('visibility','hidden'); 
      }); 

這些div沒有背景色設置,但有一個堅實的1px的黑色邊框。在Firefox中,一切運作良好。但在Internet Explorer中,SIAinfoBox只有在鼠標位於div邊框上時纔會填充。在div中移動它似乎觸發了mouseleave事件,並且內容被刪除並div隱藏。如果我設置了背景顏色,它可以像預期的那樣工作,但沒有背景顏色(或透明),它不起作用。我也嘗試使用mouseenter而不是mouseover,但使用相同的結果。 爲什麼InternetExplorer的行爲如此,或者我能做些什麼來實現我目前在IE中獲得FF的結果呢?

+0

我有類似的IE相關的問題,如這 - 你可以做一個透明PNG和背景設置爲「url(images/transparent.png)重複滾動0 0透明」 – SmokeyPHP

+0

設置縮放:1;在div工作? – Esailija

回答

0

它是一個錯誤,當背景是透明的時候,對於事件也是「透明的」元素。嘗試使用「有佈局」(例如縮放:1),如果它不會幫助,在背景中設置透明gif圖像到您的元素

6

我有類似的IE相關的問題,可以做一個 透明PNG和背景設置爲「URL(圖片/ transparent.png) 重複滾動0 0透明」 - SmokeyPHP

沒有先找到他的意見,所以我搬到這裏它作爲回答。透明圖像可以用下面的鏈接中找到:

答案:風格= 「背景:網址(圖像/ transparent.png)重複滾動0 0透明」

透明GIF:http://www.golivetutor.com/download/spacer.gif

0

我已經經歷了應用CSS樣式招

{ 
    zoom: 1; 
} 

作品在IE 9,而不是IE瀏覽器10.如果你沒有一個透明的GIF或P NG可使用在一些其他的解決方案,你也可以用提到:

{ 
    background-color: rgba(0, 0, 0, 0.1); 
} 

請注意,您將需要以避免在IE 8應用這種風格,因爲它似乎會導致問題。 「rgba」是。