2018 NOTE: This answer is obsolete; feel free to propose an edit to this answer that will work.
You can bind the ajaxStart and ajaxStop using custom namespace:
$(document).bind("ajaxStart.mine", function() {
$('#ajaxProgress').show();
});
$(document).bind("ajaxStop.mine", function() {
$('#ajaxProgress').hide();
});
Then, in other parts of the site you'll be temporarily unbinding them before your .json calls:
$(document).unbind(".mine");
Got the idea from here while searching for an answer.
EDIT: I haven't had time to test it, alas.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…