如何将唯一变量传递给eventsListiner函数?

问题描述 投票:0回答:1

我很难将事件添加到对象和数组中,所以:-i使用createElement创建div,使用FOR循环添加相同的类,然后将Child添加到其他html TAG-我想将Evennt添加到div,并且我想传递唯一变量(i来自FOR循环)-它返回我的最大值;或错误或什么都不做THX任何类型的答案:D我知道这是一个简单的问题,但我在任何地方都找不到答案

window.onload = function (){

var sectionHTML = document.getElementById('section');

for(i=0;i<5;i++)
{
 var div_box = document.createElement('div');
 div_box.className = "box";
 div_box.innerText=i;
 sectionHTML.appendChild(div_box);
}
//adding Events
var getDIV = document.getElementsByClassName('box');
for(i=0;i<5;i++)
{
 getDiv[i].addEventListiner("click", function (i) { myFunction(i); })

}

}
myFunction (i) {
 var myString = "PLS HELP THX BRO or SIS " + i;
 alert(myString);
}
javascript html dom addeventlistener
1个回答
0
投票
window.onload = function (){
  var sectionHTML = document.getElementById('section');
  for(i=0;i<5;i++) {
    var div_box = document.createElement('div');
    div_box.className = "box";
    div_box.dataset.box_id = i;
    div_box.innerText=i;
    sectionHTML.appendChild(div_box);
  }
  var getDIV = document.getElementsByClassName('box');
  for(i=0;i<5;i++) {
    getDiv[i].addEventListener("click", function () { myFunction(this.dataset.box_id); })
  }    
}
myFunction (i) {
 var myString = "PLS HELP THX BRO or SIS " + i;
 alert(myString);
}
© www.soinside.com 2019 - 2024. All rights reserved.