2012-02-10 9 views
2

次のコードはFFとChromeでは完全に動作しますが、IE8では動作しません。jQueryコードはIE 8で動作しません

$(window).keyup(function(e) { 
    var code = e.which 
    if (code == 9) 
    { 
     alert("do stuff"); 
     cellContent(); 
     autoDate(); 
    } 
}); 

このコードは、タブを認識し、cellContent()およびautoDate()関数を実行します。私はこの機能がIE8で使用されているかどうかを知るために警告を加えましたが、認識しているように見えません。

ありがとうございます!

+3

いただき、ありがとうございます最初に基本的なデバッグを呼び出します。 'code'がIEにある値をテストしましたか? –

+1

http://stackoverflow.com/questions/492865/jquery-keypress-event-not-firing – Richard

+0

参照:http://stackoverflow.com/questions/1750223/javascript-keycode-values-are-undefined-in-internet -explorer-8 –

答えて

2

私は答えを見つけました!私がしなければならなかったすべては、私はちょうど$(文書)に変更$(ウィンドウ)をしなければならなかった代わりに

$(window).keyup(function(e) { 
var code = e.which 
if (code == 9) 
{ 
    alert("do stuff"); 
    cellContent(); 
    autoDate(); 
} 
}); 

を行うのだった

$(document).keyup(function(e) 
{ 

var code = (e.keyCode ? e.keyCode : e.which); 
if (code == 9) 
    { 
    alert("hello world"); 
    cellContent(); 
    autoDate(); 
    } 

}); 

は、私はこの考えてすべてのヘルプ

0

このステートメントを使用して、使用する値を決定してみてください。それは私のためにすべての主要なブラウザで動作するようです。

var code = (e.keyCode ? e.keyCode : e.which);
私は技術的な説明を完全にわからないんだけど、クイック検索が私にこのページを与えた:

http://unixpapa.com/js/key.html

それは各主要ブラウザとその財産、彼らへの参照を持つテーブルが含まれていますサポート

  • event.keyCode
  • event.which
  • event.charCode

コメントからの継続:さらに

は、この構文を使用してイベントを結合してみてください。

$(ウィンドウ).bind( 'keyUpイベント' 、 折り返し電話);

それとも文書にイベントをバインドしようとした:

$(文書).bind( 'keyUpイベント'、コールバック);

+1

jQuery [normalize 'which cross-browser](http://api.jquery.com/category/events/event-object/)。 –

+0

私もこれを試しましたが、まだ何もありません –

+0

@ T.J.Crowder - 私はそれがそれをしたことを知らなかった!情報をありがとう!私はちょうど "あまりにも慎重にはできません"と思っています:P – Lix

関連する問題