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/
请注意,从jQuery 1.7开始,不推荐使用'$ .live'。改用['$ .on'](http://api.jquery.com/on/)。 – Sampson