JavaScript events/functions 不仅从按钮触发,而且从整个页面触发,增量游戏

JavaScript events/functions triggering not only from button, but from whole page, incremental game

我正在尝试制作我自己的小增量游戏,目前按钮很少。按钮如下:

我的问题是,当您点击网站上的任何地方,甚至是“Ka-ching”按钮时,如果钱足够,自动点击器 2 和 3 就会被购买。我在使用 kaching(ev) {ev.stopPropagation();}; 时阻止了 ka-ching 的发生,但它对其他人不起作用。

我的完整代码:https://jsfiddle.net/veix/sdh94o6m/19/(由于某种原因,间隔在 jsfiddle 中不起作用,但没关系,这不是我遇到的错误。而且这个 jsfiddle 没有stopPropagation(); 有问题。

还有一部分有问题的部分(我觉得):

//Function for buying Hotdog
function buyHD() {
    if (buyClicker(hotdog.cost, this)) {
        hotdog.clicks += 0.10;
        hotdog.cost *=hotdog.costIncrease;
        hotdog.level++;
        
        var e = document.getElementById("hotdog-level");
        e.innerHTML = "lvl " + hotdog.level;
        
        var e2 = document.getElementById("buyhotdog");
        e2.innerHTML = "Buy for " + hotdog.cost.toFixed(2) + " dollors";
    };
};

//Event Listener for buying Hotdog
var elhd = document.getElementById("buyhotdog");
elhd = addEventListener("click", buyHD, false);

如何阻止点击任意位置触发的事件?不知何故,它甚至没有发生在第一个 autoClicker 按钮上。

您必须在要有点击事件的元素上使用 addEventListener

所以试试elhd.addEventListener("click", buyHD, false);

不确定这是否是错字。您正在写

elhd = addEventListener("click", buyHD, false);

但必须这样

elhd.addEventListener("click", buyHD, false);