2013-04-20 88 views
1

在JavaScript中,是否有可能獲取元素懸停在其上的所有元素的列表?我使用一個元素作爲遊標,並且當光標元素懸停在每個其他元素上時,我希望頁面中的其他元素加下劃線。獲取特定元素下的所有元素

<div id="cursor">|----------|<br/>|----------|<br/>>I'm a spaceship!><br/>|----------|<br/>|----------|<br/></div> 
<div id="hi">Try to select this text</div> 
<p>I want to automatically highlight all elements that the cursor element hovers over.</p> 
<p>Here's an element.<p> 

http://jsfiddle.net/fU3Qn/

+0

我剛剛發現了一個類似的問題,但我不確定它是否是重複的:http://stackoverflow.com/questions/4230029/jquery-javascript-collision-detection – 2013-04-20 03:50:29

回答

1

:hover僞類適用於任何你光標懸停。其次,如果你使用一個元素作爲你的光標,你可以通過使用pointer-events: none規則來指示你的鼠標通過它。請注意,此屬性的support outside of SVG有限。

除此之外,唯一的替代方法是使用類似elementFromPoint的東西,但是這將只返回一個元素。我不確定這會對你有用,因爲你的鼠標始終受到元素的阻礙。

關於elementFromPoint路由,您可以暫時隱藏自定義光標以獲取鼠標下的下一個元素,然後重新打開自定義光標,如下面的註釋所示。

+0

對於'elementFromPoint',你可能可以在調用之前將'display'設置爲'none'並在之後恢復其先前的值。 – icktoofay 2013-04-20 04:53:00

+0

@icktoofay有趣的想法。這可能很有用。 – Sampson 2013-04-20 13:35:59

相關問題