Foros del Web » Programando para Internet » Javascript »

Como poner un evento onClick a un elemento creado con DOM?

Estas en el tema de Como poner un evento onClick a un elemento creado con DOM? en el foro de Javascript en Foros del Web. loading..................... tengo este codigo para crear un DIV Código HTML: newItem = document.createElement("div") newItem.className=" act_"+level; newItem.appendChild(document.createTextNode(name.toLowerCase())) document.getElementById("ac_"+cms_locations[i]).appendChild(newItem) hasta ahi le pongo un class="algo" ahora quisiera ...
  #1 (permalink)  
Antiguo 18/04/2006, 15:35
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Como poner un evento onClick a un elemento creado con DOM?

loading.....................



tengo este codigo para crear un DIV

Código HTML:
newItem = document.createElement("div")
newItem.className=" act_"+level;
newItem.appendChild(document.createTextNode(name.toLowerCase()))
document.getElementById("ac_"+cms_locations[i]).appendChild(newItem)
hasta ahi le pongo un class="algo" ahora quisiera poner un onclick="funcionblabla();" pero nose como hacerlo :S alguien sabe? gracias.



connection closed.
__________________

Maborak Technologies
  #2 (permalink)  
Antiguo 18/04/2006, 16:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola MaBoRaK:

La forma fácil es asignar el evento (sin paréntesis)

nuevoItem.onclick = funcionblabla;

La forma estándar es con addEventListener...

nuevoItem.addEventListener(elEvento, laFunción, burbujeo);

Y la forma "explorer" es con attachEvent...

nuevoItem.attachEvent(elEvento, laFunción);

elEvento es la cadena... y en un caso es con el on y en el otro no... sobre el burbujeo es un valor booleano y es algo así como que se puede heredar el evento...

Bueno... nunca tuve claro el tema, así que si sigo seguro que te lio.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 18/04/2006, 17:15
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading.............


asi?: newItem.addEventListener("click",abc,true);
mas o menos te entendi y si necesito que a la funcion se le pasen parametros?

gracias.



connection closed.
__________________

Maborak Technologies
  #4 (permalink)  
Antiguo 18/04/2006, 17:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Me parece que lo de los parámetros no está contemplado (hay que valerse de "truquillos")

Te paso un enlace donde trabajé el asunto: http://www.pepemolina.com/DOM/

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 18/04/2006, 17:46
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
solo para agregar que con

Cita:
newItem.setAttribute("onclick","funcionblabla()")
tambien se puede, claro que no funciona en IE
__________________
by Capitán Buscapina
.
  #6 (permalink)  
Antiguo 01/09/2009, 03:55
 
Fecha de Ingreso: septiembre-2009
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Como poner un evento onClick a un elemento creado con DOM?

Bueno, ahora estava mirando el tema de añadir un onclick con dom y al final lo que he echo ha sido crear una ancla, assignarle como href javacript:funcion() y enchufarle dentro el div que haria de 'boton'.
Segun el primer codigo expuesto en el hilo, quedaria algo asi:

Cita:
var newClick = document.createElement('a');
document.getElementById("ac_"+cms_locations[i]).appendChild(newClick)
newClick.href="javascript:funcionblabla();";

newItem = document.createElement("div")
newClick.appendChild(newItem)
newItem.className=" act_"+level;
newItem.appendChild(document.createTextNode(name.t oLowerCase()));
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 09:15.