Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does $.active means in following jQuery code? [duplicate]

Tags:

jquery

I'm using following jQuery libraries in my project. Following is the code for adding them:

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

Now the function which is written by previous developer as follows:

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 does and what's it's importance?

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

Thanks in advance.

like image 389
PHPFan Avatar asked Aug 12 '14 07:08

PHPFan


People also ask

What is active in jQuery?

The :active selector is used to select and style the active link. A link becomes active when you click on it. Tip: The :active selector can be used on all elements, not only links.

How can I detect with JavaScript jQuery if the user is currently active on the page?

Ifvisible. js is a crossbrowser lightweight solution that does just that. It can detect when the user switches to another tab and back to the current tab. It can also detect when the user goes idle and becomes active again.

How do you make a button click only once in jQuery?

jQuery one() Method When using the one() method, the event handler function is only run ONCE for each element.

What is the main function of jQuery?

The purpose of jQuery is to make it much easier to use JavaScript on your website. jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code.


2 Answers

jQuery $.active is a function which jQuery uses internally but not mentioned in the official documentation. But there is no problem in using in when we code.

It is a flag to enable global event handlers for ajaxStart() and ajaxStop(). You can find more details on that here and reading 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");
}
like image 112
Maleen Abewardana Avatar answered Sep 27 '22 22:09

Maleen Abewardana


It tests to see if there is an active connection, if there are any ( > 0), it will perform function request_inprogress(), otherwise it will peform the else part of the statement.

It is probably there to prevent the code from processing, while already processing.

like image 28
RST Avatar answered Sep 27 '22 21:09

RST