如上面的标题。当我单击我的按钮时,我的点击事件未触发。我通过JS Loop
设置了按钮。我的点击事件功能在循环功能之外。正如我在调试时所注意到的那样,当我尝试将其放入循环功能中时,单击功能现在已正确命中。
有什么原因吗?
for (var i = 0; i < dataLength; i++) {
var docsLength = data.data[i].resultData;
var title = data.data[i].resultData[i].Type.Description;
var card = '<div class="card" id="HelloWorld_' + i + '"> <div class="card-header bg-success"><h3 class="card-title">' + title + ' </h3 ></div> <div class="card-body"> </div>'
$("#card_documents > .card-body").append(card);
for (var b = 0; b < docsLength.length; b++) {
var id = "HelloWorld_" + i;
var row = '<div class="row mt-2" style="font-size:20px">'
+ '<div class="col-md-1"><input type="checkbox" style="height:20px; -webkit-box-shadow:none" class="form-control flat mt-2"> </div >'
+ '<div class="col-md-1"> <input type="button" id="btnClickHello' + b + "" + i + '" value="Upload"></div>'
+ '<div class="col-md-10" style="color:green"> ' + data.data[i].resultData[b].Docs + ' </div >'
+ '</div >';
$("#" + id + " > .card-body").append(row);
}
}
$("#btnClickHello21").click(function (e) {
e.preventDefault();
alert("a");
});
最佳答案
对于动态添加的元素,您需要使用jQuery.on
$(".card-body").on("click", "#btnClickHello21", function (e) {
e.preventDefault();
alert("a");
});