Chrome扩展程序为动态创建的元素

时间:2017-07-25 20:30:54

标签: javascript google-chrome-extension

我在chrome扩展中有这个for循环,它基于api

创建图像元素
for (var i = 0; i <= 2; i++) {
    //a
    var a = document.createElement("a");
    //a.setAttribute("href", "embed.html");
    a.setAttribute("id", "image"+i);

    //img
    var img = document.createElement("img");
    img.setAttribute("width", "192");
    img.setAttribute("height", "108");
    img.src =  resp.videos[i].thumbnail;
    var src = document.getElementById("disp");

    img.addEventListener("click", handleClick(i));

    a.appendChild(img);
    src.appendChild(a);
}

这个由事件监听器调用的函数

function handleClick(id) {
   chrome.storage.sync.set({'id': id}, function() {
      console.log(id);
   });
  chrome.storage.sync.set({'pathName': pathName}, function() {
      console.log(pathName);
   });
}

但当其中一个被按下时,所有这些功能都会被执行,因此它最终会将最后一个保存到本地存储。

如何让事件监听器只运行被按下的事件?

0 个答案:

没有答案