Tôi muốn kích hoạt một sự kiện ngay sau khi tôi ngừng nhập (không phải khi đang nhập) các ký tự trong hộp văn bản đầu vào của mình.
Tôi đã thử với:
$('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);
});
Nhưng ví dụ này tạo ra thời gian chờ cho mỗi ký tự được nhập và tôi nhận được khoảng 20 yêu cầu AJAX nếu tôi nhập 20 ký tự.
Trong trò chơi này, tôi chứng minh vấn đề tương tự với một cảnh báo đơn giản thay vì AJAX.
Có giải pháp nào cho việc này hay tôi chỉ đang sử dụng một cách tiếp cận tồi cho việc này?