Estoy escribiendo un programa htc ligero para IE 9 (= javascript). CSS3 tiene una nueva propiedad llamada transición, pero no funciona en IE 9. Estoy tratando de implementar esto, pero necesito saber cuándo cambia una propiedad. Estoy familiarizado con DOMAttrModified y onpropertychange, pero no se activan si CSS cambia la propiedad:
a {
color:#FFF;
}
a:hover {
color:#000;
}
Si pasa el mouse sobre un ancla, DOMAttrModified no hace nada. Podría usar mouseover, mouseout, blur, focus, activar y desactivar y verificar cada vez que ocurran si una propiedad cambia, pero qué pasa si:
div:hover a {
color:#FFF;
}
El usuario no desplazó la etiqueta de anclaje, pero CSS cambió el color de todos modos. Creo que pie.htc tiene el mismo problema. Solo necesito una solución compatible con IE 9 ... ¡Gracias!
3 respuestas
No creo que haya un evento para "onCSSChange"
¿Qué tal si ejecuta una subrutina cada 50 ms y verifica el estilo actual? Si el CSS cambia, puede activar su propio evento.
Creo que filtro de matriz podría ayudarlo .
Además, recomiendo Transformaciones CSS animadas entre navegadores, incluso en IE
Un navegador más simple y cruzado sería para el usuario Modernizr o una aplicación de JavaScript similar para probar la capacidad del navegador de preformar transition
, si no puede, agregará un nombre de clase al elemento raíz, al que puede apuntar fácilmente con jQuery o un marco similar:
$('.notransition div').hover(function() {
$a = $(this).find('a');
//Then animate $a.
}, function() { ... });
De esa manera, puede usar la propiedad nativa si es posible, y si no, recurrir a jQuery.
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.