¿Por qué el siguiente código no es compatible con Firefox? ¿Cómo debería mejorarse?
Estimado usuario, ¡hola! Estaré feliz de responder a tus preguntas.
AttachEvent es un método único de IE y no es compatible con Firefox.
Firefox no admite el método de implementación de window.attachEvent de IE:
El código es el siguiente:
if (window.addEventListener) {
window.addEventListener('DOMContentLoaded', controlador, false); //firefox
window.addEventListener('load', controlador, false
} else if); (ventana.attachEvent) {
ventana.attachEvent('onload', controlador); //IE
}
; addEventListener - flujo de eventos Explicación
Cuando se trata de addEventListener, tenemos que hablar sobre el flujo de eventos. Es más conveniente explicarlo más adelante hablando primero del flujo de eventos.
Cuando ocurre un evento, se divide en tres etapas:
La etapa de captura comienza desde el nodo raíz y verifica si cada nodo ha registrado un controlador de eventos. Si se registra un controlador de eventos y useCapture es verdadero, se llama al controlador de eventos. (Esta fase no existe en IE).
La fase de destino activa el controlador de eventos registrado en el objeto de destino, también llamada fase de envío de eventos normal.
Fase de burbujeo: desde el nodo de destino hasta el nodo raíz, detecta si cada nodo tiene un controlador de eventos registrado. Si hay un controlador de eventos registrado y useCapture es falso, se llama al controlador de eventos.
Espero que mi respuesta te sea útil. Si tienes alguna pregunta, no dudes en seguir consultándonos.