jQuery - keyup with delay (timeout)
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
$('input').keyup(function() {
delay(function(){
alert('Time elapsed!');
}, 1000 );
});
var timeout = null
$('input').on('keyup', function() {
var text = this.value
clearTimeout(timeout)
timeout = setTimeout(function() {
// Do AJAX shit here
console.log(text)
}, 500)
})
$('#mySearch').keyup(function() {
var $this = $(this);
clearTimeout($.data(this, 'timer'));
var wait = setTimeout(function(){
$.get("query.php?q="+$this.val());
}, 1);
$(this).data('timer', wait);
});