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.