首页 > 解决方案 > 在未知数量的按钮上添加 EventListener

问题描述

我有一个问题,我有一个 for 循环,它附加一些数据并构建一个表。

for (var p = 0; p < Tbarray.length; p++) 
{
    if (notfirsttime == 'false') 
    {
        $("#Ttable").append('<tr><th>Course</th><th>Places left</th><th>Time</th><th>Date</th></tr>');
        $("#Ttable").append('<tr><td>' + Tbarray[p][0] + '</td><td>' + Tbarray[p][3] + '</td><td>' + Tbarray[p][2] + '</td><td>' + Tbarray[p][1] + '</td><td><button  role="button" id="Signupbutton'+p+'">Sign Up</button></td></tr>');
    }

    notfirsttime = 'true';

    } else 
    {
       $("#Ttable").append('<tr><td>' + Tbarray[p][0] + '</td><td>' + Tbarray[p][3] + '</td><td>' + Tbarray[p][2] + '</td><td>' + Tbarray[p][1] + '</td><td><button  role="button" id="Signupbutton'+p+'">Sign Up</button></td></tr>');
    }

}

现在这段代码还在行的末尾添加了一个按钮,我可以做一百左右

var buttonSignup = document.getElementById("Signupbutton0");

if (buttonSignup) {
    buttonSignup.addEventListener('click', test);
}

然后至少前 100 个按钮会起作用,但我不知道会有多少行。这将上升和下降。我正在寻找一种更好的方法来做到这一点。如果有人有一些非常有用的想法。

标签: javascriptjqueryhtml

解决方案


推荐阅读