0
$(function(){
    $('.inviteClass').keypress(function() {
        if(event.keyCode=='13') {
            doPost();
        }
});

ここで、小さな要件が 1 つあります。キーボードの Enter キーを押してフォームを送信すると、FireFox と Chrome、IE 7 と 8 では正常に動作しますが、IE 9 と IE 10 では動作しません。

私を助けてください。

4

4 に答える 4

8

注意点:

  1. 閉じ括弧がありません。
  2. また、セレクターをwindow
  3. 使用.on()機能
  4. .whichイベントのプロパティを使用します。jQueryのドキュメントを参照してください
  5. キーコードは整数です - 引用符を削除してください
  6. a を追加しreturn false;て、イベントがフォームにバブリングするのを防ぎます (フォームが 2 回送信される可能性もあります)。jQueryを使用して「Enter」でフォームを送信するを参照してください。

最終的なコード:

$(function() {
    $(window).on('keydown', function(event) {
        if(event.which == 13) {
            doPost();
            return false;
        }
    });
});
于 2013-02-14T06:35:03.737 に答える
1

試す

$('.inviteClass').keypress(function (e) {
  c = e.which ? e.which : e.keyCode;
  if (c == 13) {
    doPost();
    e.preventDefault();
    return false;    //<---- Add this line
  }
});
于 2013-02-14T05:42:02.920 に答える
0

jQueryのevent.whichを使用する必要があります。また、「13」を13に変更します(閉じ括弧もありませんでした)。

$(function(){
    $('.inviteClass').keypress(function(event) {
        if(event.which == 13) {
            doPost();
        }
    });
});
于 2013-02-14T05:42:14.380 に答える
-1

キーダウンイベントを使用してみてください。また、このような関数でイベントオブジェクトを渡してください。

$(function(){$('.inviteClass').keydown(function(event){if(event.keyCode=='13'){doPost();}});

また

$(function(){$('.inviteClass').keypress(function(event){if(event.keyCode=='13'){doPost();}});

これがお役に立てば幸いです

ありがとう

于 2013-02-14T05:40:26.027 に答える