web-dev-qa-db-ja.com

Jquery .on()送信イベント

.on()に問題があります。私は複数のform-elements(class="remember"を持つフォーム)を持っています、またAJAXを使ってform.rememberをもう一つ追加します。それで、私はそれが次のようなサブミットイベントを処理したいと思います

$('form.remember').on('submit',function(){...}) 

しかし、AJAXで追加されたフォームはそれでは動作しません。

問題はどこだ?それはバグですか?

78
Anton Abramov

イベントをドキュメントレベルに委任する必要があります

$(document).on('submit','form.remember',function(){
   // code
});

$('form.remember').on('submit'$('form.remember').submit(と同じように機能しますが、$(document).on('submit','form.remember'を使用すると、後で追加されたDOMでも機能します。

179
Dipesh Parmar

同じ症状に問題がありました。私の場合、送信関数に「return」ステートメントが欠落していることがわかりました。

例えば:

 $("#id_form").on("submit", function(){
   //Code: Action (like ajax...)
   return false;
 })