Foros del Web » Programando para Internet » Javascript »

Asignacion de metodo a evento onclick en objeto

Estas en el tema de Asignacion de metodo a evento onclick en objeto en el foro de Javascript en Foros del Web. Buenas, Estoy haciendo un pequeño script que crea un menu con ajax , este tiene categorias y submenues con subcategorias , usando todos objetos (Menu ...
  #1 (permalink)  
Antiguo 28/03/2012, 22:29
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Asignacion de metodo a evento onclick en objeto

Buenas,
Estoy haciendo un pequeño script que crea un menu con ajax , este tiene categorias y submenues con subcategorias , usando todos objetos (Menu , categoria, subcategoria).
Una categoria seria algo parecido a esto:

Código:
function categoria(nombre){
        var e=document.createElement("P");
        e.className="unNombre";
        e.innerHTML=nombre;
        this.contenido=e;

        this.toggleColor=function(){
                 this.contenido.style.color="#algo";
        }
}

el tema es el siguiente , yo quiero que antes de asignarle al atributo contenido el nuevo elemento "e" , a este ultimo colocarle un onClick para que llame a toggleColor() , y nose como hacerlo(todo esto en el momento de la creacion del objeto).Ya he probado:

Código:
e.addEventListener("click",this.toggleColor(),false);
e.onclick=this.toggleColor();
pero ninguno funciona, si me dan una mano :/


Gracias de antemano!
  #2 (permalink)  
Antiguo 28/03/2012, 22:53
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: Asignacion de metodo a evento onclick en objeto

Fijate así:
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ítulo</title>
<
script type="text/javascript">
function 
categoria(nombre){
        var 
e=document.createElement("P");
        
e.className="unNombre";
        
e.innerHTML=nombre;
        
this.contenido=e;
        
this.toggleColor=function(){
                 
//this.contenido.style.color="#algo";
                 
this.style.color="red";
        }
        
e.addEventListener("click",this.toggleColor,false);
        
document.body.appendChild(e);
}
function 
init(){
    var 
p=new categoria('repitalo');
}
onload=init;
</script>

</head>

<body>
</body>
</html> 
o así:
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ítulo</title>
<
script type="text/javascript">
function 
categoria(nombre){
        var 
e=document.createElement("P");
        
e.className="unNombre";
        
e.innerHTML=nombre;
        
this.contenido=e;
        var 
that=this;
        
this.toggleColor=function(){
                
that.contenido.style.color="red";
        }
        
e.addEventListener("click",this.toggleColor,false);
        
document.body.appendChild(e);
}
function 
init(){
    var 
p=new categoria('repitalo');
}
onload=init;
</script>

</head>

<body>
</body>
</html> 

Etiquetas: ajax, asignacion, evento, funcion, html, metodo, objeto, onclick
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 09:13.