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 to share