2009-08-11 23 views
107

Uso di Javascript come posso identificare l'elemento in una determinata posizione? Fondamentalmente sto cercando di scrivere una funzione che prende due parametri di input (le coordinate xey) e restituisce l'elemento html nella posizione sullo schermo rappresentata dai parametri.Ottieni elemento nella posizione specificata - JavaScript

+0

[elementsFromPoint] (https://developer.mozilla.org/en-US/docs/Web/API/Document/elementsFromPoint) –

risposta

197
+10

Se solo ci fosse 'document.elementsFromPoint' - nel caso gli elementi si sovrappongano. – Seiyria

+1

Sono stupito che funzionasse in 5,5 e non è usato molto oggi. –

+0

Ho provato questo metodo e misura la posizione in base al documento. Come lo uso rispetto all'elemento genitore? – Charas

24

È possibile utilizzare il metodo nativo JavaScript elementFromPoint(x, y), che restituisce l'elemento in coordinate x, y nella finestra.

Vedi l'elementFromPoint w3c draft

E, un esempio di codice:

<html> 
<head> 
<title>elementFromPoint example</title> 

<script type="text/javascript"> 

function changeColor(newColor) 
{ 
elem = document.elementFromPoint(2, 2); 
elem.style.color = newColor; 
} 
</script> 
</head> 

<body> 
<p id="para1">Some text here</p> 
<button onclick="changeColor('blue');">blue</button> 
<button onclick="changeColor('red');">red</button> 
</body> 
</html> 

È possibile utilizzare setInterval() per controllare continuamente evento hover dell'elemento, ma non è raccomandato, provare a utilizzare .hover(...) e css, invece di migliorare la prestazioni dell'applicazione.

Problemi correlati