I use this technique all the time. One caveat, though: if you're doing ajax calls inside that callback (ie for an autocomplete), you _also_ want to cancel those at the same time you clearTimeout(). Browsers only do so many XHR requests at a time, so depending on timing (how fast the typist is, how fast the request is, etc) , this can queue up lots of unnecessary requests if you don't also cancel previous requests..