Instead of setTimeout - You could use a number of alternative methods. The best one that comes to mind is promises. This will make is seem less 'hacky'.
Another method could be using a library like lodash or underscore - this will allow you to only summarise data every x-seconds. Works the same way as setTimeout() (kind of) but looks nicer and you can do more with it.
So, let me re-iterate to see if I understand correctly. Instead of listening when a user stops typing in a text box, you instead want to have an onPause event that does this automatically?
If that's so, I would suggest this isn't the best idea. Due to the fact that, for me, the event listening is enough + suggestions above. But also because onPause is already an event which is tied to audio/video http://www.w3schools.com/jsref/event_onpause.asp.