title: Jquery .removeClass not working inside setTimeout
body: <p>so I have a drop down navigation that appears on hover and I'm trying to get a delay in there to improve usability. Originally I was using hoverIntent which worked beautifully everywhere except on IE8 and below. </p>
  
  <p>So instead I'm trying to do the delay with plain old Javascript but the setTimeout function won't call my jQuery.</p>
  
  <p>var J = jQuery.noConflict();</p>
  
  <pre><code> J(".navigation li").hover(function(){J(this).addClass("hover");},function(){setTimeout("J(this).removeClass('hover');",500);});      
  </code></pre>
  
  <p>When I set it up like this:</p>
  
  <pre><code> function off(){J(this).removeClass("hover"); alert("hello");}
  
  
  J(".navigation li").hover(function(){J(this).addClass("hover");},function(){setTimeout("off()",500);}); 
  </code></pre>
  
  <p>The alert works perfectly but not the .removeClass function. </p>
  
  <p>Am I missing something?</p>