只是不知道为什么这段代码不起作用:( onClick不工作,click()工作(使用控制台))
function click(ID)
{
if(cost[ID] <= currency[costID[ID]])
{
currency[costID[ID]] -= cost[ID];
currency[ID] += buyamout[ID];
document.getElementById(x[costID[ID]]).innerHTML = "<center>"+(Math.round(notyfication(currency[costID[ID]])*100)/100)+not+"</center>";
document.getElementById(x[gainID[ID]]).innerHTML = "<center>"+(Math.round(notyfication(currency[gainID[ID]])*100)/100)+not+"</center>";
}
}
...'<button onClick="click('+i+');">'+button+x[i]+'</button>'
这给出了输出<button onClick="click(0);">Make DNA</button>
点击按钮后没有任何反应。
答案 0 :(得分:2)
您的click
可能存在名称空间冲突。使用其他名称,例如<{1}}
button_click
以下代码不起作用:
var i = 0;
var button = "Make ";
var x = [['DNA']]
document.writeln('<button onclick="button_click('+i+');" >'+(button+x[i])+'</button>');
function button_click(ID) { // notice the function name change
alert(ID);
}
确实var i = 0;
var button = "Make ";
var x = [['DNA']]
document.writeln('<button onclick="click('+i+');" >'+(button+x[i])+'</button>');
function click(ID) { // the function name click may have been used already
alert(ID);
}
执行双括号之间的javaScript代码:onclick="click('+i+');"
:它调用javaScript click('+i+');
函数,但如果你声明click()
和某人,这不起作用否则在javaScript代码的其他地方做过。
答案 1 :(得分:1)
如果onClick不起作用,你也可以使用addEventListener来做同样的工作。 例如。
element.addEventListener('click', function() { /* do stuff here*/ }, false);
答案 2 :(得分:0)
要回答您的问题,您必须执行以下操作。
变化:
onClick="click(0)"
致:
onclick="click(0)"
这很可能会解决您的问题。