Я хочу ініціювати подію відразу після того, як я перестану вводити (не під час набору) символи у текстовому полі введення.
Я пробував із:
$('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.
Чи є рішення для цього, або я просто використовую поганий підхід для цього?