2010-09-15 14 views
5

Tengo un comportamiento extraño en IE8 que parece ser un error de IE pero no estoy seguro. Al acceder al campo currentStyle desde un elemento, devuelve null. Si veo sus propiedades en la ventana del reloj, puedo ver que está definido y puedo ver sus miembros. Parece que si invoco atributos de antemano, devolverá el estilo actual correcto. Me preguntaba si alguien ha visto este comportamiento antes y sabe de algunas soluciones. Esto está sucediendo cuando se construye la grilla dojo. Tampoco puedo anular este comportamiento de JavaScript porque está enterrado profundamente en una biblioteca Javascript externa (dojo) y no tengo acceso a la función en primer lugar para anular (la función se define en otro ámbito de funciones).Comportamiento extraño de IE: currentStyle devuelve nulo

+0

¿Te refieres a 'currentStyle' o' currentStyles'? –

+0

oops Me refiero a currentStyle – Bishnu

+0

En general, no es significativo acceder a 'currentStyle' hasta que el elemento se haya agregado al documento (lo que hará que la propiedad esté disponible). – bobince

Respuesta

2

El objeto currentStyle en IE es asincrónico. Esto significa que los estilos no pueden ser configurados e inmediatamente consultados. Debe permitir que IE actúe sobre su manipulación una vez que su JavaScript haya terminado de hacer cambios. Puede establecer TimeTimeout durante 0 milisegundos, que pegará la llamada de función a una cola de algún tipo e IE realizará los cambios DOM antes de llamar al siguiente bit de JavaScript.