处理$("表格").提交或<输入类型="提交">点击事件之间的区别?

AJ.*_*AJ. 11 forms jquery submit

说我有以下HTML:

<form>
    ...some form fields...
    <input type="submit" id="submitButton" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

我有一个javascript方法validate,检查各种无效方案的表单字段,true如果一切正常或返回错误,则返回false.

在这样做之间jQuery有什么真正的区别:

$("form").submit(function() {
    return validate();
});
Run Code Online (Sandbox Code Playgroud)

......或者这样做:

$("#submitButton").click(function(){
    return validate();
});
Run Code Online (Sandbox Code Playgroud)

这两者之间有什么优点/缺点吗?

Agi*_*rro 16

仅当用户实际单击提交按钮时才会调用单击回调.但是在某些情况下你会通过javascript自动提交表单,在这种情况下,在提交回调时不会触发点击回调.我建议始终使用提交进行验证和表单的内在操作,同时使用单击回调动画或其他与单击按钮操作相关的内容.

  • @bfavaretto:是的,但它的[在规格(http://dev.w3.org/html5/spec-preview/constraints.html#implicit-submission):)基本上,它说,按`Enter`是与单击提交按钮相同. (4认同)
  • @bfavaretto:它在Chrome上对我有用。 (2认同)