我想确保所有函数在 Jquery 中以同步方式工作
Posted
技术标签:
【中文标题】我想确保所有函数在 Jquery 中以同步方式工作【英文标题】:I Want to make sure that all the functions work in a synchronous way in Jquery 【发布时间】:2018-07-12 21:40:13 【问题描述】:我想确保 after() 仅在处理 focusout() 之后执行,而不是在 jquery 中执行之前。以下是代码:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<form action="index.php" method="post">
<label for="lbliosDownload">Todays iOS Downloads</label>
<input name="txtIosDownloads" type="number" > <br>
<label for="lblandroidDownload">Todays Android Downloads</label>
<input name="txtAndroidDownloads" type="number" ><br>
<label for="iosSignUps">Today's Ios Sign ups</label>
<input name="txtIosSignUps" type="number" ><br>
<label for="lblAndroidSignUps">Todays Android SignUps</label>
<input name="txtAndroidDownloads" type="number" ><br>
</form>
<script>
$(document).ready(function()
$("input[name='txtIosSignUps']").focusout(function(e)
e.preventDefault();
var numberOfSignups = $(this).val();
alert(numberOfSignups);
).after("<div style='color:red'>Hi<div>");
);
</script>
</body>
【问题讨论】:
可能在这个答案中回答了如何处理异步代码:***.com/a/14220323/2869791 您还可以查看 jQuery .then()/.done() 【参考方案1】:将after()
调用移到事件处理程序中,这样它就不会在页面加载时发生,而是在事件发生时发生
$(document).ready(function()
$("input[name='txtIosSignUps']").focusout(function(e)
e.preventDefault();
var numberOfSignups = $(this).val();
alert(numberOfSignups);
$(this).after("<div style='color:red'>Hi<div>");
);
);
【讨论】:
以上是关于我想确保所有函数在 Jquery 中以同步方式工作的主要内容,如果未能解决你的问题,请参考以下文章