在Firefox中访问全局事件对象

Wil*_*ert 5 javascript firefox jquery javascript-events

目标:运行某些功能,.ajaxStart()但仅限于某个事件触发.

代码:

$('#loading_indicator').ajaxStart(function() {
    if(event != null){
            if(event.type == 'hashchange' || event.type == 'DOMContentLoaded'){
                $(this).show();
                $('#acontents').hide();
                $(this).ajaxComplete(function() {
                    $(this).hide();
                    $('#acontents').show();
                    bindClickOnTable();
                    initFilterInput();
                });
            }
    }
});
Run Code Online (Sandbox Code Playgroud)

问题:这在Firefox中不起作用.在Internet Explorer和Chrome中,我可以愉快地访问事件对象而无需将其传递给.ajaxStart(function().但是在Firefox中,事件对象是undefined.

明显但不正确的解决方案:event对象传递给函数.这将无法工作,因为它将传递ajaxStart事件,我的检查将不再起作用.

问题:如何在此函数中访问全局事件对象?

小智 2

您可以将事件对象存储在任何可以在其他函数中使用的变量中。

这是演示: http: //jsfiddle.net/cVDbp/