Bug Tracker

Ticket #2298: 2298.diff

File 2298.diff, 2.2 kB (added by davidserduke, 1 year 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