Ver Mensaje Individual
  #11 (permalink)  
Antiguo 10/01/2010, 16:34
Avatar de Tecna
Tecna
 
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 4 meses
Puntos: 45
Respuesta: Aplicar una funcion a un objeto creado dinamicamente

Buenas,

he añadido una función para crear enlaces con algunos datos simulados para poder hacer las pruebas y aplicar los eventos a los elementos creados. También hay que incluir dos líneas en la función init() Y hace falta tener un enlace en el html con id="crear" Son los únicos cambios .

Código Javascript:
Ver original
  1. function init()
  2. {
  3.     var objs = document.getElementsByTagName('*');
  4.    
  5.     var crear = document.getElementById('crear');   // esta linea es nueva
  6.     crear.onclick = function () {crearElemento();};     // esta linea es nueva
  7.    
  8.     setAllTitles(objs);
  9. }
  10.  
  11. //// funcion nueva para crear elementos con sus eventos
  12.  
  13. function crearElemento()
  14. {
  15.     var orden = tit.length;
  16.  
  17.     var nuevo = document.createElement('a');
  18.  
  19.     nuevo.innerHTML = 'enlace-' + orden;
  20.     nuevo.href = '#';
  21.     nuevo.title = 'titulo-' + orden;          // datos de relleno como ejemplo
  22.     nuevo.id = 'elemento-' + orden;
  23.  
  24.     tit[orden] = nuevo.title;
  25.     nuevo.removeAttribute ('title');
  26.    
  27.     document.body.appendChild(nuevo);
  28.  
  29.     //esto es lo importante
  30.     nuevo.onmouseover = mouseOver;
  31.     nuevo.onmouseout = mouseOut;
  32.     document.onmousemove = function (evt){return mouseMove(evt);};
  33. }
  34.  
  35. // fin cambios

Se podría mejorar pero queda bastante limpio. Un saludo