2011-07-19 12 views
6

Estoy escribiendo un programa htc liviano para IE 9 (= javascript). CSS3 tiene una nueva propiedad llamada transición, pero no funciona en IE 9. Estoy intentando implementar esto, pero necesito saber cuándo cambia una propiedad. Estoy familiarizado con DOMAttrModified & onPropertyChange, pero no activan si CSS cambia la propiedad:¿Incendio evento si el estilo CSS es cambiado por el usuario?

a { 
color:#FFF; 
} 

a:hover { 
color:#000; 
} 

Si mouseover un ancla, DOMAttrModified no hace nada. Me vendría encima del ratón, mouseout, desenfoque, enfoque, activar y desactivar y comprobar cada vez que aparezcan, si una propiedad ha cambiado, pero lo que si:

div:hover a { 
color:#FFF; 
} 

El usuario no coloque la etiqueta de anclaje, pero cambió el CSS color de todos modos. Creo que pie.htc tiene el mismo problema. Solo necesito una solución compatible con IE 9 ... ¡Gracias!

Respuesta

1

No creo que hay un evento de "onCSSChange"

Cómo acerca de cómo ejecutar una subrutina cada 50 ms y comprobar el estilo actual. Si el CSS cambia, puede activar su propio evento.

+0

Eso es bruto, pero creo que es la única solución si nadie más responde. Voy a esperar unos días ... – bopjesvla

0

Un navegador simple y más transversal sería de usuario Modernizr o una aplicación de JavaScript similar a la prueba de la capacidad del navegador para preformas transition, si no puede, que se sumará una clase nombrar al elemento raíz, que se puede llegar fácilmente con jQuery o un marco similar:

$('.notransition div').hover(function() { 
    $a = $(this).find('a'); 
    //Then animate $a. 
}, function() { ... }); 

de esa manera usted puede utilizar la propiedad nativa, si es posible, y si no, vuelve a los jQuery.

Cuestiones relacionadas