javascript jquery javascript-events event-handling global

javascript - ¿Por qué el ''evento'' está disponible globalmente en Chrome pero no en FF?



jquery javascript-events (1)

En IE, el objeto de evento era un objeto global (que no se pasa a la función del controlador) pero se accede como un objeto global. También puede acceder a él como una propiedad del objeto de ventana como window.event

En FF y otros navegadores, el objeto de evento se pasó como argumento, ya que en FF no hay una propiedad global llamada event , está recibiendo el mensaje de error.

En Chrome, han agregado soporte para ambas características, por lo que obtendrá el objeto de evento como referencia global y como argumento.

Pero como está utilizando jQuery, jQuery normaliza estos 2 comportamientos y siempre pasará el objeto de evento como argumento al controlador de eventos.

$(document).ready(function () { $("#uspsSideboxTrackingClose").click(function (event) { event.preventDefault(); console.log(event); }); });

Mientras trabajaba en una respuesta para otra pregunta, surgió un extraño error relacionado con el objeto de event disponible en una función anónima sin pasarlo. En Chrome, lo siguiente funciona bien, pero FF arroja un error.

$(document).ready(function() { $("#uspsSideboxTrackingClose").click(function() { event.preventDefault(); console.log(event); }); });

Cromo:

FireFox:

ReferenceError: el evento no está definido

Ya se sabe que

$("#uspsSideboxTrackingClose").click(function(event) { .. }

Funciona en ambos navegadores. Here está el código ofensivo. ¿Es esto un error con Chrome o FF, o el comportamiento previsto por ambos navegadores? ¿Qué navegador es el correcto?