2017-08-21 9 views
2

の内側に、私はこの方法で持っている唯一の火災からkeyupに行います一度入力

jQuery(function($) { 
    var input = $('#search'); 
    input.on('keyup', function() { 
     var key = event.keyCode || event.charCode; 
     if(key == 8 || key == 46) { 
      console.log('ajax request cancelled'); 
      recentRequest.abort(); 
     } 
    }); 
}); 

が、今のよう毎回私はそれが1回のみ起動できるようにしたい、それが発火するBackspaceキーを押してください私の入力の中に。誰でもアイデアはありますか?

おかげ

+0

を? – Niickles

+0

これは混乱しています、バックスペースにはkeyCode '8'がありますので、もちろん実行します。ここで何を期待していますか? – adeneo

+0

@adeneo私はconsole.logとrecentRequest.abort()を1回だけ起動して、サーバーのパフォーマンスをあまり低下させないようにします。 – Niickles

答えて

1

あなたはバックスペースコードを確保するためにbackspaceFlag変数を作成することができます許可されている/一度だけトリガー:私はこれを置くだろう

jQuery(function($) { 
 
    var backspaceFlag = true; 
 
    var input = $('#search'); 
 
    input.on('keyup', function() { 
 
    var key = event.keyCode || event.charCode; 
 
    if ((key == 8 || key == 46) && backspaceFlag) { 
 
     backspaceFlag = false; 
 
     console.log('ajax request cancelled'); 
 
     recentRequest.abort(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='text' id='search' />

関連する問題