So I am calling an AJAX request on every keyup
and paste
event in jQuery on a textbox:
$(\"#server-label\").bind(\"keyup paste\",
Try using setTimeout()
and a timer
var to keep track of it:
var t;
$("#server-label").on("keyup paste", function() {
clearTimeout(t);
t = setTimeout(function() {
$.ajax({/*[...]*/});
//...
}, 500);
});
You can also use throttle or debounce but I don't think it'd be necessary if you wrap your code inside a function object or string to pass to the setTimeout()
function.