0

私は以下を持っていますが、それは機能していません。jQueryイベントはkeyCodeをサポートしていますか、それとも別の場所で取得する必要がありますか?

$('#search-query').on('keyup',function(event){
  if(event.keyCode!==38 or event.keyCode!==40){
    search_autocomplete.call(this);
  }
});

keyCode 38または40の場合、jQueryに無視するように指示するにはどうすればよいですか?最終的には、これをhttp://www.linkedin.com/の検索バーのようにしたいと思います。たぶんそれをブートストラップするだけですか?http://twitter.github.com/bootstrap/javascript.html#typeahead

事前にt​​hx

4

3 に答える 3

2

if ステートメントで条件を結合する||代わりに、論理演算子を使用します。or

ライブデモ

変化する

 if(event.keyCode!==38 or event.keyCode!==40){

 if(event.keyCode!==38 || event.keyCode!==40){
于 2012-10-30T06:40:18.577 に答える
2

ブラウザ間の互換性のために、event.keyCode との両方を使用してください。event.which

$('#search-query').on('keyup',function(event){

   var key = event.keyCode || event.which;

  if(key !==38 || key !==40){
    search_autocomplete.call(this);
  }
});
于 2012-10-30T06:43:23.707 に答える
0

キープレスを見てください...

$('#search-query').keypress(function (e) {
    if(e.which == 38  || e.which == 40) 
        search_autocomplete.call(this);
    }
});  

テストされていませんが、これが役立つことを願っています

于 2012-10-30T06:44:51.617 に答える