O,所以我有一個'實時搜索'ajax搜索,它目前在每個鍵上運行一個sql搜索(通過ajax)。在計時器上重新啓動的Javascript計時器?
什麼,我寧願是:
運行的關鍵後SQL搜索尚未按下說800毫秒
。
所以我想,如果發生新的keyup事件就會重新啓動定時器
如何有上鍵啓動一個定時器, 如果計時器達到800毫秒那麼AJAX調用, 我會做這個?
O,所以我有一個'實時搜索'ajax搜索,它目前在每個鍵上運行一個sql搜索(通過ajax)。在計時器上重新啓動的Javascript計時器?
什麼,我寧願是:
運行的關鍵後SQL搜索尚未按下說800毫秒
。
所以我想,如果發生新的keyup事件就會重新啓動定時器
如何有上鍵啓動一個定時器, 如果計時器達到800毫秒那麼AJAX調用, 我會做這個?
(function() {
var theTimeout;
function doSearch() {
// Do Search
};
$('#theField').bind('keyup', function() {
clearTimeout(theTimeout);
theTimeout = setTimeout(doSearch, 800);
});
}())
+1,只是輸入一個類似的解決方案。 – 2010-03-22 12:21:01
+1,然後輸入相同的解決方案! :P – Matt 2010-03-22 12:21:41
也許是命名空間全局變量的一個想法,但它肯定是操作的工作:) – 2010-03-22 12:22:36
我有這樣的問題,我的解決辦法是這樣的:
var doAjax = 0
$("input#name").keyup(function(){
doAjax++;
setTimeout(function(){
doAjax--;
if(doAjax>=1){
return;
}
$.post("do_ajax", { ...
說不上來,如果這是最好的解決方案,但它的工作原理:)
絕對完美! – Haroldo 2010-03-22 12:36:34