簡體   English   中英

JavaScript / jQuery - 密鑰和超時后的Fire事件

[英]JavaScript/jQuery - Fire event after keyup and timeout

我想在我的搜索功能中添加一個功能,該功能將在觸發keyup事件后n秒執行搜索。 這個想法是,如果有人停止嘗試一秒左右,他們就不必點擊搜索按鈕。 到目前為止,我在點擊時,在刪除術語時點擊搜索功能,然后輸入。 我在下面的代碼中標記了我想要定時器的東西。 我問這個是因為它差不多凌晨3點,而JavaScript正在傷害我的腦袋。 抱歉,如果重復......

這就是我所擁有的:

$("#filter").keyup( function(e)
{
  var filter = $("#filter").val();

  if( filter == 0 || filter == '' || filter == null )
  {
    test();
  }
  else
  {
  *********** timer, then test();
  }

  if (e.which == 13)
  {
    e.preventDefault();
    test();
  }
});
$("#filter").keyup( function(e) {

  var filter = $("#filter").val(),
      timer = $('#filter').data('timeout'),
      n = 2;// the number of seconds to wait

  if(timer) {
      clearTimeout(timer);
      $('#filter').removeData('timeout');
  }

  if( filter == 0 || filter == '' || filter == null ) {
    test();
  } else if (e.which == 13) {
    e.preventDefault();
    test();
  }  else {
    $('#filter').data('timeout', setTimeout(test, 1000 * n));
  }      
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM