处理$(“表格”)。提交或点击事件之间的区别?

说我有以下HTML:

...some form fields...

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

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

 $("form").submit(function() { return validate(); }); 

……或者这样做:

 $("#submitButton").click(function(){ return validate(); }); 

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

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

点击事件先前触发,提交事件在点击事件后触发。

提交:

  • 如果某些数据错误(Minior和旧浏览器)阻止事件可能为时已晚
  • 也可以在提交命令上触发

点击:

  • 压倒性的事件,几乎一切都与点击绑定。 性能?
  • 不在提交命令上触发

第一种方法的优点是,如果您的表单是通过几个按钮提交或完成不同的操作,那么仅在提交按钮上放置validation意味着如果通过其他方法提交,表单可能处于无效状态。

最好的方法是在表单提交上进行validation,因为无论表单如何提交(通过按钮单击,从其他地方以编程方式),validation仍将被触发。