javascript - 如何检测在 Javascript for 循环中单击了哪个按钮?
问题描述
我为我的项目制作了一个生成 15 个“级别”的循环。我如何检测这 15 个按钮中的哪一个被专门单击,以便我可以加载适当的级别(单击第一个按钮时加载级别 1,单击第二个按钮时加载级别 2,等等)?谢谢!
function loadLevels(){
for (var i = 1; i < 16; i ++){
var btn = document.createElement("button");
var lvlNumber = document.createTextNode(i);
btn.appendChild(lvlNumber);
document.body.appendChild(btn);
btn.addEventListener("click", function(){
startedLevel(i);
});
}
}
解决方案
您可以从事件捕获和冒泡中受益。选择所有按钮的父元素,然后将事件侦听器附加到该元素。然后在回调中写入console.log(e.target)
,这样您就可以看到实际单击了哪个按钮。
推荐阅读
- django - 在 django 中使用查询过滤的下拉列表
- ios - Environment Object 中的 SwiftUI Observable Object 不会更新视图
- python - 男性不存在 Django 匹配查询
- python - 了解 Tensorflow Object-Detection API,Checkpoint 类的 kwargs,什么是`_base_tower_layers_for_heads`?
- python - 使用熊猫在图表上查找最大值
- javascript - 请向我解释 if 条件中的 true 指的是什么?
- java - 使用 Gradle 6 构建避免拆分包的附加工件
- loopback4 - 在关系内的全局范围内过滤“位置”
- javascript - javascript中停止抛出“超出ResizeObserver循环限制”错误避免超过Sentry配额的最佳方法是什么?
- google-cloud-platform - 7 月 10 日升级后无法访问 Dataproc JupyterLab 中的 GCS 文件夹