Bug Tracker

Ticket #2298: 2298.diff

File 2298.diff, 2.2 KB (added by davidserduke, 14 years ago)

untested patch (for the idea)

  • src/event.js

     
    175175                }
    176176
    177177                // Handle a global trigger
    178                 if ( !elem ) {
     178                if ( typeof elem != "object" ) {
    179179                        // Only trigger if we've ever bound an event for it
    180180                        if ( this.global[type] )
    181                                 jQuery("*").add([window, document]).trigger(type, data);
     181                                jQuery(typeof elem == "string" ? elem : "*").add([window, document]).trigger(type, data);
    182182
    183183                // Handle triggering a single element
    184184                } else {
  • src/ajax.js

     
    228228
    229229                // Watch for a new set of requests
    230230                if ( s.global && ! jQuery.active++ )
    231                         jQuery.event.trigger( "ajaxStart" );
     231                        jQuery.event.trigger( "ajaxStart", null, s.global );
    232232
    233233                // If we're requesting a remote document
    234234                // and trying to load JSON or Script with a GET
     
    295295                        s.beforeSend(xml);
    296296                       
    297297                if ( s.global )
    298                         jQuery.event.trigger("ajaxSend", [xml, s]);
     298                        jQuery.event.trigger("ajaxSend", [xml, s], s.global);
    299299
    300300                // Wait for a response to come back
    301301                var onreadystatechange = function(isTimeout){
     
    386386
    387387                        // Fire the global callback
    388388                        if ( s.global )
    389                                 jQuery.event.trigger( "ajaxSuccess", [xml, s] );
     389                                jQuery.event.trigger( "ajaxSuccess", [xml, s], s.global );
    390390                }
    391391
    392392                function complete(){
     
    396396
    397397                        // The request was completed
    398398                        if ( s.global )
    399                                 jQuery.event.trigger( "ajaxComplete", [xml, s] );
     399                                jQuery.event.trigger( "ajaxComplete", [xml, s], s.global );
    400400
    401401                        // Handle the global AJAX counter
    402402                        if ( s.global && ! --jQuery.active )
    403                                 jQuery.event.trigger( "ajaxStop" );
     403                                jQuery.event.trigger( "ajaxStop", null, s.global );
    404404                }
    405405               
    406406                // return XMLHttpRequest to allow aborting the request etc.
     
    413413
    414414                // Fire the global callback
    415415                if ( s.global )
    416                         jQuery.event.trigger( "ajaxError", [xml, s, e] );
     416                        jQuery.event.trigger( "ajaxError", [xml, s, e], s.global );
    417417        },
    418418
    419419        // Counter for holding the number of active queries