Javascript 绑定到提交按钮的点击事件,我们的JS会在表单提交之前运行吗?

Javascript 绑定到提交按钮的点击事件,我们的JS会在表单提交之前运行吗?,javascript,submit,Javascript,Submit,我们目前正在绑定到提交按钮的单击事件(我们没有绑定到表单的提交事件是有原因的)。是否保证我们的JS会在表单提交之前运行(因为我们正在向想要提交的隐藏字段中输入值),还是需要阻止表单提交,然后再次调用提交 $(function() { $('#button').on('click', function() { // Do some stuff here - needs to finish before the form submits return tru

我们目前正在绑定到提交按钮的单击事件(我们没有绑定到表单的提交事件是有原因的)。是否保证我们的JS会在表单提交之前运行(因为我们正在向想要提交的隐藏字段中输入值),还是需要阻止表单提交,然后再次调用提交

$(function() {
    $('#button').on('click', function() {
        // Do some stuff here - needs to finish before the form submits

        return true;
    });
});

提前谢谢

根据我的经验,click事件中的代码总是首先运行

我刚刚在最新的chrome上运行了一个简单的测试,循环次数达到10000次。表单直到循环完成后(约5秒)才提交


如果您尝试运行一些ajax调用,或者在click函数中设置Timeout,那么表单很可能会在回调/ajax完成之前提交。

它会在发送提交事件之前工作,但您只在侦听
click
事件。如果用户点击
enter
,表单将在不运行代码的情况下提交。我认为你应该坚持参加
submit
活动。回调函数将作为参数接收
事件
(您可以执行
e.preventDefault();
e.stopPropagation();


只要你的“在这里做一些事情”不包含任何异步代码,你就可以了。你不绑定到提交事件的原因是什么?(你知道如果需要,你可以将多个提交处理程序绑定到同一个表单?)我认为提交操作是最后一步,但你总是可以尝试两种方法,看看哪种方法有效
$("form").on("submit",function(event){});