Estoy usando prototype.js para mi aplicación web, y tengo todo funcionando en chrome, safari y firefox. Ahora estoy trabajando en la compatibilidad de IE8.¿Cuándo debo observar los eventos de javascript en la ventana frente a documento frente a document.body?
Como he estado depurando en IE, me he dado cuenta de que hay eventos de JavaScript para los que he configurado previamente un observador en la ventana, p.
Event.observe(window, eventType, function() {...});
(donde eventType
podría ser "dom:loaded"
, "keypress"
, etc.) y funciona muy bien en Chrome/Safari/Firefox. Sin embargo, en IE el observador nunca dispara.
En al menos algunos casos podría hacer que esto funcione en IE colocando al observador en otro lugar que no sea window
, p. Ej. document
(en el caso de "dom:loaded"
) o document.body
(en el caso de "keypress"
). Sin embargo, esto es todo prueba y error.
¿Existe alguna forma más sistemática de determinar dónde colocar estos observadores de manera que los resultados sean compatibles con varios navegadores?
Gracias!
Los documentos no hacen un trabajo particularmente bueno de explicar esto. –
Esto parece ser un buen lugar para buscar, pero por lo que puedo decir, el MSDN no es completo. Por ejemplo, uno puede registrar un evento 'onresize' en la' ventana', pero realmente no lo veo allí. – brahn
Eso es porque 'onresize' está expuesto por' window.prototype' en IE. Está en el documento. – Alsciende