Was ist der Unterschied zwischen $ (form) .submit und $ (form) .on ("submit") in jQuery?

Ich habe den folgenden Code geschrieben, der in meinem Browser nicht zu einem AJAX-Aufruf führt:

$(document).ready(function () {
  $('form').submit(function(event) {
    event.preventDefault();
    var action = $(this).attr('action');
    var data = $(this).serialize();
    $.post(action, data, function(response) {
      $("#die").html(response);
    });
  });
});

Mein Lehrer hat jedoch den folgenden Code in der Klasse live codiert, was funktioniert:

$(document).ready(function () {
  $("form").on("submit", function(event) {
    event.preventDefault();
    var action = $(this).attr("action");
    var formData = $(this).serialize();
    $.post(action, formData, function(responseContent) {
      $("#die").html(responseContent);
    });
  });
});

Soweit ich das beurteilen kann, ist der einzige bedeutende Unterschied zwischen meinem Code und seinem Code die Verwendung von "on" vs. "submit" in Zeile 2. Tatsächlich gibt die jQuery Foundation auf api.jquery.com/submit an, dass " Diese Methode ist eine Abkürzung für .on ('submit', handler) ... ". Was mich verwirrt, warum sich die beiden Schnipsel unterschiedlich verhalten.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage