Foros del Web » Programando para Internet » Javascript »

Detectar si al hacer clic sobre el documento estaba o no sobre cierto elemento

Estas en el tema de Detectar si al hacer clic sobre el documento estaba o no sobre cierto elemento en el foro de Javascript en Foros del Web. Hola, voy a intentar explicar lo que pretendo hacer. Tengo un elemento div dentro del mi documento. Pretendo realizar cierta operación cuando el usuario haga ...
  #1 (permalink)  
Antiguo 05/04/2011, 02:56
Avatar de AubeRoseau  
Fecha de Ingreso: diciembre-2010
Ubicación: Sevilla
Mensajes: 90
Antigüedad: 13 años, 5 meses
Puntos: 2
Detectar si al hacer clic sobre el documento estaba o no sobre cierto elemento

Hola,

voy a intentar explicar lo que pretendo hacer. Tengo un elemento div dentro del mi documento. Pretendo realizar cierta operación cuando el usuario haga clic en cualquier parte del documento, pero si no se hizo sobre el elemento div. No se si me explico. El caso es que el clic sobre el documento se detecta también si se hizo sobre el elemento div.

Lo que quiero es una vez detecta el evento clic sobre el documento, saber si se hizo además sobre el elemento div o no.

Si no entendeis, decírmelo e intentaré explicarme mejor.

Acabo de ver que es posible con el atributo target del Event.

Última edición por AubeRoseau; 05/04/2011 a las 03:06 Razón: Solucionado
  #2 (permalink)  
Antiguo 05/04/2011, 03:31
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: Detectar si al hacer clic sobre el documento estaba o no sobre cierto elem

Fijate si te sirve:
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=utf-8" />
<
title>Documento sin t&#237;tulo</title>
<style type="text/css">
divbackground:#F00; margin:50px; height:50px}
</style>
<
script type="text/javascript">
function 
addEvent(obj,fun,type){ 
    if(
obj.addEventListener){ 
        
obj.addEventListener(type,fun,false); 
    }else if(
obj.attachEvent){ 
        var 
f=function(){ 
            
fun.call(obj,window.event); 
        } 
        
obj.attachEvent('on'+type,f); 
        
obj[fun.toString()+type]=f
    }else{ 
        
obj['on'+type]=fun
    } 
}  
var 
DR=function(f){
    if(
document.addEventListener){
        var 
func=function(){f();document.removeEventListener('DOMContentLoaded',func,false);}
        
document.addEventListener('DOMContentLoaded',func,false);
    }else{
        function 
r(f){/in/.test(document.readyState)?setTimeout(function(){r(f);},9):f();};
        
r(f);
    }
}
function 
fun(e){
    
    var 
dest=e.target || e.srcElement;
    if(
dest.nodeName.toUpperCase()=='DIV'){
        
alert('hiciste click sobre el div con id '+dest.id);    
    }else{
        
alert('hiciste click en '+dest.nodeName);    
    }
}
DR(
    function(){
         
addEvent(document,fun,'click');
    }   
);
</script>

</head>

<body>
<div id="pp"></div>
<div id="pp2"></div>

</body>
</html> 

Última edición por Panino5001; 05/04/2011 a las 04:14

Etiquetas: documento
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 07:20.