2012-09-28 57 views
2

I need this fiddle solved.如何在具有背景的HTML元素下與DOM元素交互?

我無法與具有背景的另一個HTML元素下的DOM元素進行交互。這是HTML/CSS 101.但是,通過將背景與rgba和不透明CSS屬性相結合,這並不總是理想的效果。就像我的情況一樣,我需要一個元素的背景來始終處於所有其他元素之上。

說實話,我不知道從哪裏開始解決這種情況。我希望有一個CSS解決方案可以讓事件通過具有背景的元素傳播。我懷疑這存在。

我的另一個想法是使用JavaScript解決方案以某種方式強制捕獲下面元素的事件,就好像上面的元素甚至不存在一樣。

如何在具有背景的HTML元素下與DOM元素交互?

請注意,我需要這個工作在所有現代瀏覽器。

+1

大聲笑,Firefox 15有一個錯誤,導致下面的元素偶爾閃爍(即成爲':懸停'),當你將光標移到它。事實上,如果你非常迅速地移動光標,你可能會導致它更閃爍。 – BoltClock

+2

一般來說,如果你可以與被遮蓋的元素進行交互,它會被認爲是一個可怕的bug。這是一個很常用的瀏覽器行爲,比如模態對話框。 – Pointy

+0

@積分這是真的。顯然,這是一個邊緣案例。 –

回答

6

我知道能夠訪問鏈接的一種方法是將#cursor-block div上的指針事件設置爲none。

jsFiddle example

#cursor-block { 
    background: rgba(0, 0, 0, .075); 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    width: 15px; 
    z-index: 2; 
    pointer-events: none; 
} 

注意指針事件不低於IE9工作。

+0

+1這是_exactly_我​​正在尋找的功能。它不幸在IE9中無法使用。而且,我只是更新了我的問題,以反映我需要一種可在所有現代瀏覽器中工作的解決方案。對不起,以前忘記提及。還是很好的答案。 –

+1

該死的你IE <= 8 !!! – j08691

+1

據此,http://caniuse.com/#search=pointer,它看起來不像它在IE9上的作品? –