Manuel González Noriega escribió:
> On 30/11/05, alb . <[EMAIL PROTECTED]> wrote:
>> Hola a todos, tengo una duda que no si se puede resolver:
>>
>> Ahora mismo estoy creando una tabla dinamicamente (n filas x n columnas)
>> y cada celda tiene un id (distinto logicamente) y varios manejadores
>> (onmouseover, onmouseout... que llaman a las mismas funciones)
>
> var mi_tabla = document.getElementById('mi_tabla');
>
> celdas = mi_tabla.getElementsByTagName('td');
>
> for (var i = 0; i < celdas.length; i++) {
>
> var mi_celda = celdas[i];
> mi_celda.onclick = function() {
> alert('Esta es la función que se ejecuta');
> }
>
> }
>
Esto es correcto, pero para afinarlo todavía más, cabría decir que no es
recomendable redefinir por completo el elemento "onclick". Me explico:
¿qué pasaría si alguna de las citadas celdas ya tuviera algo asignado en
el onclick? Pues que perdería ese manejador al hacer la asignación.
Por tanto, para arreglar esto hay que usar el método addEventListener
del objeto, que haría que el manejador adquiriese ese nuevo
"comportamiento", sin perder los anteriores que pudiera tener:
mi_celda.addEventListener("click", mi_funcion, true);
Saludos.
Andrés [ knocte ]
--
_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net