title: SetTimeOut is stacking all keyup pressed and fires after the timeout has finished
body: <p>I have set my <code>setTimeout</code> to run 1 second after the last <code>keyup</code> is typed. I am setting up ajax server side verification. </p>
  
  <p><strong>Problem</strong></p>
  
  <p>For some reason, this will wait 1 second and then fire for however many clicks I back before taking a second break. I would like only the last keyup to be triggering the ajax call.</p>
  
  <p><strong>Code</strong></p>
  
  <pre><code>   form.items = {
          init:function(){
              this.call();
          },
          call:function(){
              //Check all visible elements
              form.init.mainItems.each(function(){
                  $(this).keyup(function(){
                      form.items.main($(this));
                  });
              });
          },
          main:function(myself){
                      form.ajaxEvents.ajaxTimer = setTimeout(function(){form.ajaxEvents.call(myself);}, form.ajaxEvents.ajaxTimerSetting);
              }
          }
      };
  
    //Setting up the timer
   form.ajaxEvents.ajaxTimer = setTimeout(function(){
         form.ajaxEvents.call(myself);
   }, form.ajaxEvents.ajaxTimerSetting);
  
   form.ajaxEvents = {
       ajaxTimerSetting:1000,
       ajaxTimer:null,
       call:function(me){
           clearTimeout(form.ajaxEvents.ajaxTimer);
           //turn off so we wait for ajax to complete
              $.ajax({
                  url:'registration/ajax/'+item,
                  data:{"info":me.val()},
                  type:'post',
                  success:function (data) {
                      //data
                  }
              });
          }
      };
  </code></pre>
  
  <p><strong>JsFiddle</strong></p>
  
  <p><a href="http://jsfiddle.net/hutber/76Q9v/" rel="nofollow">JS Fiddle for full working code and error described</a></p>