2011-07-07 6 views
0

これはどのブラウザでも動作しないのですか?Jquery KeyPressが機能しない

jsfiddleで試してみるとうまくいきます。

$('#input_area').keypress(function(e) { 
    if(e.which == 13) { 
     alert('You pressed enter!'); 
    } 
}); 

HTML

<script type="text/javascript" src="counts.js"></script> 
<script type="text/javascript" src="jquery-1.6.2.min.js"></script> 
</head> 

<body> 
<input type="text" id="input_area"/> 

</body> 

JS

$(document).ready(function() { 
$('#input_area').keypress(function(e) { 
    if(e.which == 13) { 
     alert('You pressed enter!'); 
    } 
}); 
}); 
+0

はあなたが使用フィドルに私たちをリンクすることができ、バインディングを使用するようにしてください? –

+1

すべてのエラーメッセージ?サンプルHTML? keypressを '$(document).ready()'にバインドしていますか? – lnrbob

+0

http://jsfiddle.net/t8by8/ – katspaugh

答えて

4

私はあなたがjsfiddleは、デフォルトではありません、あなたの実際のアプリケーションでdocument.readyハンドラでそれをラップしていなかった5ドルを賭けて準備ができています:

$(function() { 
    $('#input_area').keypress(function(e) { 
     if(e.which == 13) { 
      alert('You pressed enter!'); 
     } 
    }); 
}); 

もう1つの可能性は、jQueryの参照を忘れたか、間違ったURLから参照したことです。

+0

それはちょうど働きたくありません。すべてが正しく準備リンクとソースリンクの両方に実装されています。 – user461316

0

ブラウザによっては、whichプロパティが実装されていない可能性があります。またkeyCodeをチェックする必要があります。

$(document).ready(function() { 
    $("#input_area").keypress(function (e) { 
     if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) { 
     alert('You pressed enter!'); 
     } 
    }); 
}); 
+0

jQueryはこれらのブラウザ間の問題を処理します。 'e.which'は問題ありません。 –

0

jsfiddleで実行している場合、それが動作する場合、それは動作します。私はdomがまだロードされておらず、input_areaがまだ利用できないときにkeypressリスナを登録しようと思っています。 $(ドキュメント).ready内側にラップ:

$(document).ready(function() { 
    $('#input_area').keypress(function(e) { 
     if (e.which == 13) { 
      alert('You pressed enter!'); 
     } 
    }); 
}); 
0

$('#input_area').bind('keypress', function(e){ 
    alert(e.which); 
}); 
関連する問題