2016-06-29 13 views
-3

Nur nicht wissen, warum dieses Stück Code funktioniert nicht: (onClick nicht funktioniert, klicken Sie auf() arbeitet (mit Konsole))JS onClick nicht funktioniert

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>' 

das gibt Ausgang <button onClick="click(0);">Make DNA</button> und nach Klick-Taste passiert nichts.

+0

Was ist der Code, der die Schaltfläche generiert? Ist das auch JavaScript? – Sirko

+0

hast du die konsole überprüft ... welchen fehler bekommst du? –

+0

können Sie versuchen onclick = 'anstelle von' onClick = ' – PaulH

Antwort

2

Es könnte einen Namensraumkonflikt mit Ihrem click geben. Verwenden Sie einen anderen Namen wie button_click unter

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); 
 
}

-Code unten funktioniert nicht:

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); 
 
}

tatsächlich onclick="click('+i+');" führt den JavaScript-Code zwischen den doppelten Klammern: click('+i+');: es ruft die javaScript click() Funktion, aber das funktioniert nicht, wenn Sie deklarieren function click() und jemand anderes hat das an anderer Stelle im JavaScript-Code getan.

+0

Arbeitete, danke! – Charmind

0

Um Ihre Frage zu beantworten, müssen Sie Folgendes tun.

Wechsel:

onClick="click(0)" 

An:

onclick="click(0)" 

Das wird höchstwahrscheinlich Ihr Problem beheben.

+0

nein. funktioniert immer noch nicht – Charmind

2

Wenn onClick nicht funktioniert, können Sie auch addEventListener verwenden. für z.B.