AJAX / JQuery - 在keyup之后停止setInterval

时间:2018-05-27 17:39:34

标签: php jquery ajax

我目前正在使用ajax进行实时搜索

但是我在搜索框中遇到了间隔部分。

什么有效:

  • 如果我对搜索框没有任何操作,则运行setInterval
  • setInterval在我在searchbox中搜索(输入关键字)时停止

什么行不通:

  • 我在searchbox中删除了我的关键字后,setInterval未运行

我怎么能像第一次一样运行setInterval?

到目前为止我尝试过:

$(document).ready(function(){

 load_data();

 function load_data(query)
 {
  $.ajax({
   url:"fetch.php",
   method:"POST",
   data:{query:query},
   success:function(data)
   {
    $('.result').html(data);
   }
  });
 }

 var jump = setInterval(load_data, 1000);

 $('#searchbox').keyup(function(){
  var search = $(this).val();
  if(search != '')
  {
   load_data(search);
   clearInterval(jump);
  }
  else
  {
    load_data();
  }
 });

});

1 个答案:

答案 0 :(得分:0)

您可以在调用load_data()

后在else语句中再次设置间隔