Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2010, 16:39
Avatar de xcars
xcars
 
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
heredar event handlers

Saludos. Creanme que antes de escribir este post he buscado y buscado informacion, y no he podido encontrar nada, lo mas seguro es uqe talvez la forma en que lo estoy buscando o las palabras no son las adecuadas.

He hecho un par de funciones en JS para facilitarme algunas cosas, y pues mas que todo con el objetivo de aprender mas (pues facil me seria hacerlo con un framework, pero quiero aprender mas a fondo), entonces, tengo una funcion que agrega listeners a los id o tags que yo elija, y que la utilizo en este caso para hacer el efecto de resaltar una fila,columna o celda de otro color mientras pasa el mouse, etc.

Ademas, he hecho una funcion para adicionar filas o columnas a una tabla, y aqui esta el problema, utilizo clone para duplicar una fila (anteriormente lo hice tambien adicionandole hijos a los nodos), la cosa es que al insertar una fila nueva (que es el caso en el que me he quedado) los listeners no los tiene (solo en IE si), ahora bien, los listeners que agrego son de forma dinamica, es decir, hoy puede ser solo un mouseover/mouseout, en otra tabla puede ser mouseove/mouseout/click, en una tercera tabla solo el click, etc por lo tanto nose uqe eventos estan asociados a cada tabla (o bajo ese precepto quiero hacer la funcion) entonces nose si habra alguna manera de obtener los events handlers asociados a la fila (o celda) clonada, o de que otra manera pudiera hacer esto?

Por otro lado, cuando clono la fila o el elemento, el id y demas info quedan igual que al elemento de donde se origino, y debo de reemplazarlo por uno nuevo, como puedo lograr esto?


Nose que tan necesario sea poner el codigo, pero si lo necesitan aki dejo algunas porciones porque ya esta algo grandecito ejjee

esta es la funcion que agrega una fila

Código Javascript:
Ver original
  1. function iFila(Tabla) {
  2.         var el = get(Tabla); //get es una funcion que tiene getElementById
  3.         if (!el) return;
  4.         var tblBody = el.tBodies[0];
  5.         var newNode = tblBody.rows[0].cloneNode(true);
  6.         tblBody.appendChild(newNode);
  7.     }
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.