javascript - 如何防止在不使用超时的情况下同时运行多个 .change 函数
问题描述
我仍在学习 JS,所以请原谅我的“js”语言和解释。我有一个从控制器获取数组并使用 .change 函数将其传递给 view.html 的系统。根据控制器中加载的数据,信息加载需要时间,因此加载数据的时间不同。
然后使用下面的代码通过 iframe 将数据加载到视图中。我注意到,当用户输入输入以加载更多数据而之前的数据仍在加载时,它也会开始运行该函数,而无需等待第一个完成。我想阻止下一个函数运行,直到第一个函数完成。
<input id='Input' type="submit" name="message" ask="" >
<input id='Input' class='Input' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">
<input id='Input1' type="submit" name="message" ask="" >
<input id='Input1' class='Input1' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">
<input id='Input2' type="submit" name="message" ask="" >
<input id='Input2' class='Input2' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">
$(document).ready(function(){
var arr = [];//From controller, can be variable in size
$('#Input').change(function(){
arr.push($(this).val());
var arrayJSON = JSON.stringify(arr);
localStorage.setItem("TheData",arrayJSON);
});
$('#Input1').change(function(){
arr.push($(this).val());
var arrayJSON = JSON.stringify(arr);
localStorage.setItem("TheData",arrayJSON);
});
$('#Input2').change(function(){
arr.push($(this).val());
var arrayJSON = JSON.stringify(arr);
//sessionStorage.setItem("TheData",arrayJSON);
localStorage.setItem("TheData",arrayJSON);
});
});
解决方案
推荐阅读
- spring - 如何在 Jpa、RestController Spring Boot 中使用选定实体创建行
- python - 使用 python matplotlib 绘制 c++ 可执行输出
- c++ - Travis CI 报告 Vulkan 项目的 gcc-7 的链接器错误
- android - 无法在 Android 应用程序中看到应用程序名称
- sql - 需要找到我表中每个人的最大 term_code 值
- graphql - 等效于 GraphQL 查询的数组映射
- javascript - JS 符号安全——可以创建非唯一符号吗?
- c++ - 为什么我的 C++WinRT 包含不起作用?
- php - Symfony 5 无法将 EntityManagerInterface 注入验证器
- prestashop - Prestashop / Smarty - 在主题中扩展一个模块模板文件