我正在尝试构建一个游戏,用户将选择显示给他的6个div之一。在这里,我要执行两个操作,首先是获取被单击的div的索引,以便可以对选定的div进行一些操作。其次,我想删除所有最初的6个div上的事件监听器。
我是JS的新手,我被困住了。此外,如果您能给我更好的方法,我将不胜感激。
这是代码段
function listenForSelection(target){
let attributeArr = document.querySelectorAll(`.power-container-p${target}`);
for(let i = 0; i < attributeArr.length; i++){
attributeArr[i].addEventListener('click', judge.bind(null , i, target, attributeArr));
}
for(let i = 0; i < attributeArr.length; i++){
attributeArr[i].removeEventListener('click', judge);
}
}
这是判断函数,它希望单击div的索引来执行其操作。
var judge = function(i, target, attributeArr){
let opposite = (target == 1) ? 2 : 1;
let attribute = "";
switch (i){
case 0:
attribute = "Age";
break;
case 1:
attribute = "Power";
break;
case 2:
attribute = "Strength";
break;
case 3:
attribute = "Defence";
break;
case 4:
attribute = "Morality";
break;
case 5:
attribute = "Average";
break;
}
console.log(attribute);
console.log(target);
}