Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 几个按钮中的一个不是';t在JS和HTML中工作_Javascript_Html - Fatal编程技术网

Javascript 几个按钮中的一个不是';t在JS和HTML中工作

Javascript 几个按钮中的一个不是';t在JS和HTML中工作,javascript,html,Javascript,Html,所以我一直在编写一个空闲的小游戏,我有几个按钮是用来升级的。我以前有3个,当我添加第四个时,由于某种原因它不能正常工作 JavaScript: gainUpgrade: function() { if (engine.player.Energy >= engine.idleGainUpgrade) { engine.player.Energy -= engine.idleGainUpgrade; engine.idleGain += 0.5;

所以我一直在编写一个空闲的小游戏,我有几个按钮是用来升级的。我以前有3个,当我添加第四个时,由于某种原因它不能正常工作

JavaScript:

gainUpgrade: function() {
    if (engine.player.Energy >= engine.idleGainUpgrade) {
        engine.player.Energy -= engine.idleGainUpgrade;
        engine.idleGain += 0.5;
        engine.display.Energy.innerHTML = engine.player.Energy;
        engine.display.idleGain.innerHTML = engine.idleGain;
        engine.Status("Upgrade unlocked!");
        engine.idleGainUpgrade += (engine.idleGainPriceMultiplier * 50 * 2);
        engine.display.idleGainUpgrade.innerHTML = engine.idleGainUpgrade;
        engine.idleGainPriceMultiplier +=0.5;
    } else {
        engine.Status("Not enough energy!");
    }
},
这是与按钮链接的函数,应该触发它的JavaScript是:

engine.clickables.gainUpgrade = document.getElementById("idlegainupgrade");
engine.clickables.gainUpgrade.addEventListener("click", function() {
    engine.gainUpgrade;
});
还有HTML代码:

<input type="button" id="idlegainupgrade" value="Increase gain from idle!"><br /><br />
<h6>
    Idle Gain: <span id="idlegain"></span>
    <br />Idle Gain Upgrade Cost: <span id="idlegainupgradecost"></span>
</h6>


空闲增益:
闲置收益升级成本:
我做错了什么?

替换:

engine.clickables.gainUpgrade = document.getElementById("idlegainupgrade");
engine.clickables.gainUpgrade.addEventListener("click", function() {
    engine.gainUpgrade();
});
engine.clickables.gainUpgrade.addEventListener("click", function() {
    engine.gainUpgrade;
});
与:


您没有在单击处理程序中调用
gainUpgrade
。将函数作为引用传递给
addEventListener
就可以了。

您需要调用函数
engine.gainUpgrade()我所有的其他按钮都是这样工作的,为什么只有这个按钮不工作?我会试试你说的,看看它是否有效。它有效,谢谢你,但为什么只有这一个无效?我所有其他的按钮都是用同样的方法做的。你绝对确定其他的按钮是完全一样的吗?它们不象
引擎.gainUpgrade()
engine.clickables.diceUpgrade=document.getElementById(“diceUpgrade”);engine.clickables.diceUpgrade.addEventListener(“单击”,函数(){engine.diceUpgrade();})这就是我其他的引擎的样子
engine.diceUpgrade()在那里。您问题中的代码是
engine.gainUpgrade。找出差异。
engine.clickables.gainUpgrade.addEventListener("click", engine.gainUpgrade);