我想在我停止在输入文本框中输入(而不是在输入时)字符后触发一个事件。
我试过:
$('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 演示了同样的问题。
有没有解决方案,或者我只是为此使用了一种不好的方法?