Как вызвать событие во входном тексте после того, как я перестал набирать / писать?
Я хочу вызвать событие сразу после того, как я перестал набирать (а не печатать) символы в моем текстовом поле ввода.
Я пробовал с:
$('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);
});
Но этот пример выдает тайм-аут для каждого набранного символа, и я получаю около 20 запросов AJAX, если набираю 20 символов.
На этой скрипке Я демонстрирую ту же проблему с простым предупреждением вместо AJAX.
Есть ли решение для этого, или я просто использую плохой подход к этому?