This is a card in Dave's Virtual Box of Cards.
Debouncing JavaScript input
Created: 2024-08-04
back to javascript
You don’t need a big utility library to debounce input. JS has a reset-able timer mechanism. Here’s a handy function:
function debounce(f, ms){ var t; // Scope to this invocation return function(){ clearTimeout(t); t = setTimeout(f, ms); }; }
And here’s an example of use:
function update(){ ... }; // Debounce the "update()" function so it isn't called until // there's a 1 second pause in a textarea's input (typing). my_textarea.addEventListener('input', debounce(update, 1000) );
Here’s a full working example: debounce.html