javascript - 如何让函数识别我点击的 div?
问题描述
我为我的 100div 网格中的每个 div 添加了一个事件侦听器。在函数中,我应该将单击的正方形作为参数传递。问题是 click() 函数只能识别最后一个 div(数字 99)。
function createBoard(){
for(var i=0;i<width*height;i++){
var square=document.createElement('div');
grid.append(square);
square.setAttribute('id',i);
square.innerHTML=boardArray[i];
squares.push(square);
squares[i].addEventListener('click', function(e) {
click(square)
})
}//end for
}//end func
createBoard();
function click(square){
var id=square.id;
console.log(id) //displays 99th
}
解决方案
i
如果您想要的只是放在 div 上的 id,为什么不传递给函数呢?
推荐阅读
- unity3d - Unity Parent 的 SetActive() 会影响孩子吗?
- python - 如何从 Firebase 存储中下载 json 格式的数据?
- android - 具有布局膨胀或屏幕顶部的底部表
- typescript - 未设置响应。这是否在未作为承诺返回的异步调用中使用
- ruby-on-rails - Audited - 获取可审计对象的实例
- php - 正则表达式忽略(停止捕获)封装在方括号中的字符串
- vue.js - 如何使用 vue2-google-maps 正确地反转地理编码
- ruby-on-rails - Solidus 前端的引导程序
- linux - 没有 IO 完成端口的 Linux 上的 .NET Core 中的异步如何工作?
- jenkins - 当 github PR 提出时触发 jenkins 构建