0

次の関数を使用して、動的に生成された 2 つのフォーム送信をキャプチャしますが、送信を妨げません。

$('body').delegate('.edit_faq, .new_faq', 'submit', function(e){
      e.preventDefault();
      //voodoo
    });

を使用して、次を使用していliveました。これは機能しますが、ライブは減価償却され、最終的にこのコードは柔軟なプラグインになります。

$('.edit_faq').add('.new_faq').live('submit', function(e){
  e.preventDefault();
  //magic
});
4

3 に答える 3

1

あなたが書いたことは実際に働いています。

小切手:

http://jsfiddle.net/peuqU/

jsfiddle として実行を押すと、テストが送信される前に更新が必要になることがあります。

クロム23でしかテストできませんでした。

于 2012-09-05T10:17:49.393 に答える
0

修繕 -

問題は、ドキュメント onReady でコードをラップする必要があることでした。

$(document).ready(function(){
  $('body').on('submit', '.edit_faq, .new_faq', function(e){
      e.preventDefault();
      //voodoo
  });
})

ライブでは準備が必要ではなかったので、これはまだ間違っているのではないでしょうか?

于 2012-09-05T10:18:25.330 に答える
0

推奨される方法を試し、false を返します。

$('body').on('submit', '.edit_faq, .new_faq', function(e){
      e.preventDefault();
     //Do your stuff here.

    });

送信がまだ発生する理由については、ページのどこかに JS エラーがある可能性がありますか?

于 2012-09-05T10:02:55.553 に答える