当我尝试在单击按钮时传递值时,无论如何都会传递值(即使没有我单击按钮)。这不应该发生,因为我只想在单击按钮时隐藏图像 为什么会这样?
for ( i = 0; i < divs.length;i++){
knopdiv[i] = document.createElement('div');
divs[i].appendChild(knopdiv[i]);
knopdiv[i].innerHTML = '<button id="knop' +i+'">Afbeelding verbergen</button>';
knopdiv[i].onclick = hideMe(i, afb[i]);
function hideMe(nummer, afb){
console.log (nummer);
}
输出而不点击:
0
1
2
3
4
5
6
7
8
为什么控制台只是传递点击按钮的数量?
答案 0 :(得分:0)
knopdiv[i].onclick = hideMe(i, afb[i]);
执行此语句时,hideMe()
被触发!
将其更改为:
knopdiv[i].onclick = (function(i, element){
return function(){
hideMe(i, element);
};
})(i, afb[i]);