Javascript 值传递给函数,而无需我单击按钮
当我尝试在单击按钮时传递值时,该值无论如何都会被传递(即使我没有单击按钮)。这是不应该发生的,因为我只想在单击按钮时隐藏图像 为什么会这样Javascript 值传递给函数,而无需我单击按钮,javascript,Javascript,当我尝试在单击按钮时传递值时,该值无论如何都会被传递(即使我没有单击按钮)。这是不应该发生的,因为我只想在单击按钮时隐藏图像 为什么会这样 for ( i = 0; i < divs.length;i++){ knopdiv[i] = document.createElement('div'); divs[i].appendChild(knopdiv[i]); knopdiv[i].innerHTML = '<button id="knop' +i
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);
}
为什么控制台不只是传递点击按钮的数量
knopdiv[i].onclick=hideMe(i,afb[i])代码>执行此语句时,hideMe()
被激发
将其更改为:
knopdiv[i].onclick = (function(i, element){
return function(){
hideMe(i, element);
};
})(i, afb[i]);
请发布完整的代码并对其进行格式化。为什么您认为应该填充输出?+1这将调用hideMe,而不是将其指定为处理程序。应该是knopdiv[i].onclick=hideMe;将其指定为handler@wong2:检查打字function
@ben当你这样做时,notting会通过吗?我还在学习,如果这些是新手,我很抱歉questions@Jarco没错,如果你只使用xx.onclick=hideMe代码>没有传递任何内容。您必须将调用hideMe(i,afb[i])
的函数传递给onclick
@wong2。不,我给了你+1,有人给了你-1。我发现-1非常不公平
knopdiv[i].onclick = (function(i, element){
return function(){
hideMe(i, element);
};
})(i, afb[i]);