javascript - 相同的索引在循环中给出不同的 DOM 元素
问题描述
我尝试将两个事件侦听器添加到相同的 DOM 元素,如下所示:
const rows = document.querySelectorAll(`.row`);
for (let i = 0; i < rows.length; i++) {
rows[i].addEventListener(`touchend`, (e) => {
console.log(i)
if (documentClick) {
const code = rows[i].dataset.code;
}
});
rows[i].addEventListener(`click`, (e) => {
console.log(i)
const code = rows[i].dataset.code;
});
}
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
<div class="row">x</div>
当我在控制台中检查单击元素的索引时,它给了我不同的索引。怎么可能,为什么会发生?
解决方案
推荐阅读
- java - 动画不显示
- mysql - 从mysql备份文件导入数据时出错
- javascript - 无法读取 cookie 值
- kubernetes - GitLab Pipeline 无法连接到 Kubernetes
- php - 以html格式获取输出时如何使用codeigniter制作Rest Api
- search - TFS 代码搜索/工作休息 API 返回 404
- javascript - 引导问题中的单选按钮 onclick
- angular - 如何从搜索栏输入将数据从 html 文件传递到 Ionic(最新)中的 .ts 文件
- html - 影响标题文本的 Css 背景覆盖
- python - python -c cmd 将等待所有进程完成