2009-08-11 12 views
107

Usando Javascript ¿cómo puedo identificar el elemento en una posición determinada? Básicamente, estoy buscando escribir una función que tome dos parámetros de entrada (las coordenadas xey) y devuelve el elemento html en la posición en la pantalla representada por los parámetros.Obtiene elemento en la posición especificada - JavaScript

+0

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

Respuesta

197
+10

Si solo hubiera 'document.elementsFromPoint' también - en caso de que los elementos se superpongan. – Seiyria

+1

Me sorprende que esto haya funcionado en ie 5.5 y hoy no se usa tanto. –

+0

He intentado este método y mide la posición de acuerdo con el documento. ¿Cómo lo uso en relación con el elemento padre? – Charas

24

Se puede utilizar el método nativo de JavaScript elementFromPoint(x, y), que devuelve el elemento en las coordenadas x, y en el visor.

Véase el elementFromPoint w3c draft

Y, un ejemplo de código:

<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> 

Usted puede utilizar setInterval() comprobar continuamente evento de vuelo estacionario del elemento pero no es recomendable, tratar de utilizar .hover(...) y CSS en lugar de mejorar la rendimiento de la aplicación.

Cuestiones relacionadas