2011-09-13 15 views

答えて

2

キーがこれらの値の間にある場合、関数の実行を効果的に停止するだけで簡単に戻ります。

$(function(){ 
    $('#input-field').keyup(function(event){ 
     if (event.which >= 38 && event.which <= 40) 
      return; 

     ... 
    }); 
}); 
+0

ありがとうございます、魅力的なように動作します:-) – Youss

+0

@Youssこの質問に対する回答のいずれかが役に立った場合は、その横の緑色のチェックマークをクリックして質問の解決方法として選択してください。 –

+1

私は知っていますが、受け入れるには約7分待たなければなりません。だから私はその間に料理をしました:) – Youss

2

に変数を追加します。あなたも、左右キーのチェックをしたいが、それらを防ぐいけないが、あなたが呼び出しを取り消すことができる$('#input-field').keyup(function(){

$('#input-field').keyup(function(e){ 
    if(e.keyCode===38 /*Up key */ || e.keyCode === 40 /*key down */) { return ;} 
    // Rest of your code... 

eよう注意「残りのコード」にやって:

$(function(){ 

    $('#input-field').keyup(function(e){ 

     if(!(e.keyCode>=37 && e.keyCode <= 40)) { 
      var val = $(this).val(); 
      jQTubeUtil.suggest(val, function(response){ 
       var html = ''; 
       for(s in response.suggestions){ 
        var sug = response.suggestions[s]; 
        html += '<li class="li-class"><a href="#">'+sug+'</a></li>'; 
       } 
       if (response.suggestions.length) 
        $('#autocomplete').html(html).show(); 
       else 
        $('#autocomplete').hide(); 
      }); 
     } 
    }); 

}); 
2

は、キーの範囲を取り消すために、これを試してみてください:

関連する問題