当我向 onclick 处理程序添加多个内联 JavaScript 函数时会发生什么?

What happens when I add multiple inline JavaScript functions to an onclick handler?

我只是想知道在这种情况下会发生什么:

<input type="submit" name="a" id="b" value="Login" onclick="functionOne();functionTwo();" id="LoginUser_LoginButton">

是否先 functionOne() 运行 然后一旦完成,functionTwo() 运行s?

我的实际情况是在 ASP.NET 页面上,我试图在登录页面的用户名上附加一个域名,然后再提交:

<input type="submit" name="LoginUser$LoginButton" id="loginSubmit" value="Login" onclick="appendDomain();javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;LoginUser$LoginButton&quot;, &quot;&quot;, true, &quot;LoginUserValidationGroup&quot;, &quot;&quot;, false, false))" id="LoginUser_LoginButton">

现在我必须在提交表单之前测试 appendDomain() 是否 运行ning,所以我必须以某种方式验证这一点而不实际提交表单。 TIA!

是的,这正是发生的事情。除非你的代码不执行任何异步操作,否则它将精确地按顺序执行。

但是,像这样内联 Javascript 代码被认为是不好的做法。例如,您可能希望使用 .addEventListener 来使用不显眼的解决方案。

它们都会运行就好像它们是一个接一个地写在一个JS块中一样