首页 > 解决方案 > 如何检测在 Javascript for 循环中单击了哪个按钮?

问题描述

我为我的项目制作了一个生成 15 个“级别”的循环。我如何检测这 15 个按钮中的哪一个被专门单击,以便我可以加载适当的级别(单击第一个按钮时加载级别 1,单击第二个按钮时加载级别 2,等等)?谢谢!

function loadLevels(){
    for (var i = 1; i < 16; i ++){
        var btn = document.createElement("button");
        var lvlNumber = document.createTextNode(i);
        btn.appendChild(lvlNumber);
        document.body.appendChild(btn); 
        btn.addEventListener("click", function(){
            startedLevel(i);
        });
    } 
}

标签: javascripthtmlfor-loopdomaddeventlistener

解决方案


您可以从事件捕获和冒泡中受益。选择所有按钮的父元素,然后将事件侦听器附加到该元素。然后在回调中写入console.log(e.target),这样您就可以看到实际单击了哪个按钮。


推荐阅读