简体   繁体   English

如何检测在 Javascript for 循环中单击了哪个按钮?

[英]How to detect which button is clicked in a Javascript for loop?

I made a loop generating 15 "levels" for my project.我为我的项目制作了一个循环,生成了 15 个“级别”。 How could I detect which of these 15 buttons is clicked specifically so I can load the appropriate level (load level 1 when first button is clicked, level 2 when second button is clicked, etc.)?我怎么能检测到这 15 个按钮中的哪一个被特别点击,以便我可以加载适当的级别(单击第一个按钮时加载级别 1,单击第二个按钮时加载级别 2,等等)? Thanks!谢谢!

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

You can benefit event capturing & bubbling.您可以受益于事件捕获和冒泡。 Select the all of buttons' parent element then attach an event listener to this element.选择所有按钮的父元素,然后将事件侦听器附加到该元素。 Then in the callback write console.log(e.target) so you can see which button actually clicked.然后在回调中写入console.log(e.target)以便您可以查看实际单击了哪个按钮。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM