입력 텍스트 상자에 문자를 입력하는 동안이 아니라 입력을 중지 한 직후에 이벤트를 트리거하고 싶습니다.
나는 시도했다 :
$('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자를 입력하면 약 20 개의 AJAX 요청을받습니다.
이 바이올린 에서 AJAX 대신 간단한 경고로 동일한 문제를 보여줍니다.
이것에 대한 해결책이 있습니까? 아니면 나쁜 접근 방식을 사용하고 있습니까?