codice:
var myAjaxRequest=false;
$('input,select,textarea,checkbox,radio')
  .focus(function(){
    $(this).data('timer',new Date());
  })
  .blur(function(){
    var oldDate=$(this).data('timer');
    if($(this).data('timer')){
      var newDate=new Date();
      if(newDate>oldDate+2000){
         if(myAjaxRequest){
            myAjaxRequest.abort();
         }
         ...
         myAjaxRequest=$.ajax({ ... });
      }
    }
  })
non ho provato

non puo' essere meglio lanciare la richiesta solo se il value/checked/selectedIndex effettivamente cambia mentre il focus e' su un campo?