Voglio attivare un evento subito dopo aver smesso di digitare (non durante la digitazione) caratteri nella casella di testo di input.
Ho provato con:
$('input#username').keypress(function() {
var _this = $(this); // copy of this object for further usage
setTimeout(function() {
$.post('/ajax/fetch', {
type: 'username',
value: _this.val()
}, function(data) {
if(!data.success) {
// continue working
} else {
// throw an error
}
}, 'json');
}, 3000);
});
Ma questo esempio produce un timeout per ogni carattere digitato e ricevo circa 20 richieste AJAX se digito 20 caratteri.
Su questo violino mostro lo stesso problema con un semplice avviso invece di un AJAX.
C'è una soluzione per questo o sto solo usando un approccio sbagliato per questo?