JS onClick无法正常工作

时间:2016-06-29 11:39:51

标签: javascript onclick

只是不知道为什么这段代码不起作用:( 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> 点击按钮后没有任何反应。

3 个答案:

答案 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)"

这很可能会解决您的问题。