3

を含むフォームがあります

<button class="submit">Submit</button>

およびjQueryコード

$(".submit").click(function(e){
   var evt = e || window.event; // IE compatibility
   if(evt.preventDefault){  
     evt.preventDefault();  
   }else{  
      evt.returnValue = false;  
    evt.cancelBubble=true;  
  }
 //....ajax call 
});

それで、IE7で検索語を入力してEnterキーを押すと、ホームページに移動する(フォーム="/"のアクション)という、何が間違っているのだろうと思っていました。IE7 がデフォルト アクションに移行するのを妨げないのはなぜですか。

  • ボタンタグを使っているからでしょうか
  • 私はフォームonsubmit call some functionでも古い方法を試しましたが、失敗します
  • それともajax呼び出しが原因ですか?

追記:

  • 私には体があり、その体の中にiframeがあり、そのiframeにフォームがあります。だから、iframeのせいなのかな。

ありがとうバイラル

4

1 に答える 1

5

入力トリガーイベントに影響しないボタンタグのデフォルトアクションを妨げています。また、jQueryイベントオブジェクトpreventDefault()メソッドはクロスブラウザーであることに注意してください。これを試してください:

$('input').on('keyup', function(e){
  if (e.which == 13) {
     e.preventDefault();
  }
})
于 2012-07-14T02:29:42.437 に答える