submit
イベントはフォーム自体によって発行されるため、送信.target
されるフォームになります。フォーム内のどのボタンが最後にクリックされたかを知りたい場合は、次のようなボタンからバブルするイベントにバインドする必要がありますclick
。
$("form").on("click", ":submit", function (event) {
console.log(event.target); // The submit button last clicked
});
ここから、フォームを送信するかどうかを選択できます。このハンドラーは、要素で発生するクリックイベントにのみ応答し、内部のボタンform
から続行します。submit
デモ: http: //jsfiddle.net/5sQZ5/1/
submit
フォーム内で最後にクリックされた要素への参照を動的に追加できるため、フォームのハンドラー内で、誰がイベントを発生させたかを判別できます。
// Tell submit buttons to update parenting forms when clicked
$(":submit").on("click", function (event) {
$(this).closest("form").data("target", this);
});
// When a form is submitted, find last associated submit button
$("form").on("submit", function (event) {
console.log( $(this).data("target") );
});
デモ: http: //jsfiddle.net/5sQZ5/2/