What does $ .active mean in the following jQuery code?

I am using the following jQuery libraries in my project. Below is the code to add them:

<script src="jquery-1.9.1.min.js"></script>
    <script src="jquery-ui-1.10.0.custom.min.js"></script>

      

Now the function written by the previous developer looks like this:

function add_rebate_by_product() {
  if($.active > 0) { //or $.active  //What this $.active does   
    request_inprogress();
  } else {
    var manufacturer_id = $("#company_id").val();
    var rebate_no       = $('.well').length;
    var site_url        = $('#site_url').val();

    if ($('.well').length>=0) { 
      rebate_no = rebate_no+1;
    }
      $('.add_new_rebate').attr('disabled','disabled');
    }

    $.ajax({
      type: "POST",
      url: "add_rebate_by_product.php",
      data: {'request_type':'ajax', 'op':'create_rebate', 'rebate_no':rebate_no, 'manufacturer_id':manufacturer_id},  
      beforeSend: function() { 
        $('.load_img').html("<img src='"+site_url+"img/ajax-loader.gif' class='load' alt='Loading...'>");
      },
      success: function(data) {
        if(jQuery.trim(data)=="session_time_out") {
          window.location.href = site_url+'admin/login.php?timeout=1';              
        } else {
          $('.rbt').append(data);
          $('.add_new_rebate').removeAttr('disabled');

          //code for state select control to make functionality workable in newly added rebate block
          $('.states').multiselect({
            includeSelectAllOption: true,
            maxHeight: 150
          });
          //code for datepicker control to make functionality workable in newly added rebate block
          $(".date_control").datepicker({
            dateFormat: "yy-mm-dd"
          });                   
        }
        $('.load').remove();
      }
    });
//}
}

      

Now can someone please explain what the following files do and what is important?

if($.active > 0) { //or $.active        
        request_inprogress();
      }

      

Thanks in advance.

+4


source to share


3 answers


jQuery $.active

is a function that jQuery uses internally but is not mentioned in the official documentation. But there is no problem to use when we code.

This is a flag to enable global event handlers for ajaxStart()

and ajaxStop()

. You can find more information on this here and read this question.

Here are some code snippets found on github .

1.

// Counter for holding the number of active queries
active: 0,

      



2.

// Watch for a new set of requests
if ( fireGlobals && jQuery.active++ === 0 ) {
    jQuery.event.trigger("ajaxStart");
}

      

3.

// Handle the global AJAX counter
if ( !( --jQuery.active ) ) {
    jQuery.event.trigger("ajaxStop");
}

      

+5


source


It checks if there is an active connection, if there is (> 0), it will execute the request_inprogress () function, otherwise it will display another part of the statement.



Probably to prevent code from being processed while processing already exists.

+3


source


jQuery.active

It describes how to check the number of active connections to the server and will evaluate to true when the number of connections is zero.

+2


source







All Articles