首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >addEventListener不处理js生成的元素(图像)

addEventListener不处理js生成的元素(图像)
EN

Stack Overflow用户
提问于 2022-10-20 17:13:08
回答 1查看 45关注 0票数 1

我把一堆图像放在页面中央的网格上,希望在单击每个单独的图像时添加一个检查。这些图像是用js创建的,并添加到文档中,它们是否还没有“准备好”之类的问题?

代码语言:javascript
复制
function placePieces() {
  for (var i = 0; i < setup.length; i++) {
    if ((setup[i]+'' == "undefined")) {continue;}
    var element = document.createElement("img");
    element.src = "Images/" + pieces[Object.keys(pieces)[setup[i]]] + ".png";
    element.style.width = "10vh";
    element.style.height = "10vh";
    element.style.marginTop = (Math.floor(i/8) * 10) + "vh";
    element.style.marginLeft = "calc(((100vw - 80vh)/2) + " + (10 * (i%8) - 1) + "vh)";
    element.style.zIndex = 10;
    element.style.position = "absolute";
    element.id = i+1;
    document.body.innerHTML = "\n" + element.outerHTML + document.body.innerHTML;
    console.log(element.outerHTML)
    var nelement = document.getElementById(i+1);
    console.log(nelement)
    nelement.addEventListener("click",highlight);
  }
}
placePieces()

function highlight(n) {
  console.log(n)
  n = n.currentTarget.myParam;
  if (setup[n] == 0 || setup[n] == 6) {
    var moves = [];
    var m = n
    while (True) {
      if (!(Math.floor((m-9)/8)<=0)) {
        console.log("test")
      }
    }
  }
}

第二个函数还远未完成,但它仍然没有返回任何应该返回的内容。

EN

回答 1

Stack Overflow用户

发布于 2022-10-20 17:51:56

不必再抓取元素,可以直接添加侦听器

代码语言:javascript
复制
const element = document.createElement('div')
element.style.background = 'red'
element.style.width = '100px'
element.style.height = '100px'
element.addEventListener('click', () => console.log('click'))
document.body.appendChild(element)

这应该是可行的:

代码语言:javascript
复制
function placePieces() {
  for (var i = 0; i < setup.length; i++) {
    if ((setup[i]+'' == "undefined")) {continue;}
    var element = document.createElement("img");
    // ...
    element.addEventListener("click",highlight);
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74143818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档