javascript - 首次加载时单击未绑定到按钮
问题描述
我的应用程序在第一次运行时随机发生问题(有时它仍然有效)。浏览器刷新后,它解决了这个问题,所以我相信它是一个竞争条件。但是,我将事件绑定到文档,并且它也在文档中准备好,所以我不知道如何解决它。
我在页面加载期间生成的类 .inactivetab 中有一系列选项卡按钮。单击时,它应该调用 methods.setTab 将类更改为 .activetab 并更改查看的页面。通常所有的按钮都能正确地获取事件并且这有效。但有时,一些按钮(不是全部)不起作用。这是下面的代码片段:
$(document).ready(function(){
$(document).on('click', '.inactivetab', function () {
methods.setTab($(this).attr('id').replace('-ButtonId', ''));
});
})
这个片段是在程序中创建按钮的原因(其中 module[] 是从形成按钮的数据库返回的页面/选项卡数组):
var.modules.forEach(module => {
tab_HTML += "<button id=\"" + module[1] + "-ButtonId\" type=\"button\" class=\"inactivetab\" style=\"display:block\">" + module[2] + "</button>";
})
我认为准备好文档并将事件委托给文档将是此处需要的修复,但在首次打开应用程序时仍然面临并非所有按钮都有效的问题。任何其他想法都会有很大帮助。
解决方案
推荐阅读
- ecmascript-6 - ecmascript-6 Function.prototype.bind() 如何处理类构造函数?
- python - 如何使用先前建立的数组创建熊猫数据框
- php - nginx:如果访问了某个子域,则重定向到子目录
- algorithm - 最大 k 使得 A[0]
我需要解决这个问题的有效算法(时间复杂度小于 O(n^2)),请帮助我:
a[i..j] 被称为 a[i..j] < b[i..j] 如果 a[i]<b[i
- c# - 为什么 ValueTuple 的返回值为空 JSON?
- android - 如何使用BLE将应用程序通知从一部Android手机传递到另一部Android手机
- python - 将字符串列表转换为 python 列表并获取值
- vba - 如果 DoCmd.SendObject 过早终止,则捕获错误
- java - OpenAPI 3.0,jersey2 生成的代码抛出 InvalidDefinitionException for nullable: true
- json - 如何将数据字段结构从 xml 或 json 映射到像 figma 这样的 UI 设计?