Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/06/2008, 11:56
Avatar de johnj
johnj
 
Fecha de Ingreso: marzo-2007
Mensajes: 65
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: onclick en el body, que valores obtengo?

Cita:
Iniciado por MatiasDV Ver Mensaje
Buenas, necesito saber que valores se obtienen del onclick en el body. cuando hago click en X parte de la pantalla, como debo buscar los valores. se usa "this"? es un objeto verdad? alguien tiene un ejemplito?

Pues debes algo así:

Código:
<!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=utf-8" />
    <title>Prueba CEventos</title>
    <script type="text/javascript">
    	
		document.onclick = function(evt){
								
								/*
									Condiciona si evt == false entonces devuelve el objeto event
									que solo es accesible en Internet Explorer sino devuelve el mismo valor del parametro
									de la función el cual es "evt"
									En los demás navegadores se envía el objeto del evento pasandolo como primer paramtro
									a la función del manejador de eventos, en este caso "onclick".
								*/
								evt = evt || event;
								
								
								//COn esto sabes a que elemento se le hizo el clic y los obtienes para obtener sus propiedades como el color de fondo.
								var elemento = evt.target || evt.srcElement
								alert(elemento.nodeName);
								
								//posición con respecto a toda la pantalla en donde se hizo clic
								alert( "X : " + evt.screenX + ", Y : "  + evt.screenY);	
								
								
								
								//posición con respecto al documento en donde se hizo clic
								//el evt.pageX es para cualquier navegador menos IE. Por eso pongo el condicional.
								alert( "X : " + ( evt.pageX || evt.clientX + document.body.scrollLeft - document.body.clientLeft ) + ", Y : "  + ( evt.pageY || evt.clientY + document.body.scrollTop - document.body.clientTop ) );	
							
							}    
    </script>
</head>
<body>
	<div style="background-color:#000000; height:100px;"></div>
</body>
</html>

Espero te sirva.

Última edición por johnj; 21/06/2008 a las 12:02