Foros del Web » Programando para Internet » Javascript »

Coordernadas en un div

Estas en el tema de Coordernadas en un div en el foro de Javascript en Foros del Web. Hola, foreros!: Tengo un div de 500px por 500px, busco que cuando el usuario clique en algun punto de él se ejecute una accion con ...
  #1 (permalink)  
Antiguo 27/10/2008, 04:18
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Coordernadas en un div

Hola, foreros!:

Tengo un div de 500px por 500px, busco que cuando el usuario clique en algun punto de él se ejecute una accion con las coordenadas del punto donde ha clicado.

¿Como lo debo hacer?
  #2 (permalink)  
Antiguo 27/10/2008, 04:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Coordernadas en un div

Hola:

Hace algún tiempo tuve la idea de "destripar" los eventos, y puedes verlos en esta página: Destripar evento... la verdad es que está la página algo descuidada, pero se pueden ver cosas que tal vez te interesen... y no estoy seguro de que se contemple el sitio exacto donde se pincha... aunque en ff se ven atributos como screenX/Y o layerX/Y, etc.

Pero si quieres algo fiable, podrías asociar ese div a una imagen transparente de las mismas dimensiones en un formulario que sea type="image"... que en el momento de enviar el form se añaden las coordenadas de donde se pincha... por ejemplo puedes enviarlo a un iframe, y en ese iframe poner una instrucción window.onload que entregue esas coordenadas a la página padre (parent)...

Es algo rebuscado, pero creo que siempre que esté javascript activado va a funcionar (pero no se trata de código accesible...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 27/10/2008, 06:01
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Coordernadas en un div

Exacto lo que dice caricatos Sólo agrego que para Explorer es offsetX y offsetY, y que si la posición de la capa no es relativa (o absoluta -esto no lo probé-) puede producir resultados diferentes en algunos navegadores.:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
<
script>
function 
addEvent(o,t,f){
    if(
o.addEventListener){
        
o.addEventListener(t,f,false);
    }else if(
o.attachEvent){
        var 
ff=function(){
            
f.call(o,window.event);
        }
        
o.attachEvent('on'+t,ff);
    }
}
function 
getPos(e){
e=|| window.event;
posX=e.layerX || e.offsetX;
posY=e.layerY || e.offsetY;
return {
x:posX,y:posY}
}
function 
inLog(e){
var 
t=getPos(e);
document.getElementById('log').innerHTML='x:'+t.x+', y:'+t.y;
}
onload=function(){
    
addEvent(document.getElementById('pp'),'mousemove',inLog);
}
</script>
</head>

<body><br />
<br />
<br />
<br />
<br />

<div id="pp" style="background-color:#F00; width:500px; height:500px; position:relative"></div>
<div id="log"></div>
</body>
</html> 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:00.