Tôi có người dùng thực hiện cuộc gọi ajax khi đang nhập. Vấn đề là nó làm cho các cuộc gọi cho mỗi chữ được gõ, vì vậy tôi thiết lập thời gian chờ như thế này:Đợi chức năng cho đến khi người dùng ngừng nhập
$(input).live('keyup', function(e){
setTimeout(function(){
var xx = $(input).val();
doSearch(xx);
}, 400);
});
Nó chờ 400ms nhưng sau đó thực hiện cho mỗi khóa. Làm thế nào tôi có thể thay đổi điều này để thực hiện cuộc gọi ajax chỉ 'một lần' khoảng 400ms sau khi lá thư được gõ cuối cùng?
(tôi đã sử dụng 'chậm trễ' trong quá khứ nhưng điều đó không làm việc ở tất cả với kịch bản của tôi ...)
Đã có giải pháp được cung cấp trong câu hỏi khác: https://stackoverflow.com/questions/4220126/run-javascript-function-when-user-finishes-typing-instead-of-on-key-up/16324620 # 16324620 –