【问题标题】:JQuery / Javascript Click Event not detected in Dynamic table动态表中未检测到 JQuery / Javascript 点击事件
【发布时间】:2021-01-16 12:56:47
【问题描述】:

我查看了几个已回答的问题,并尝试针对我的问题实施解决方案。我有一个在 javascript 中动态生成的表,然后我需要在每一行的一列中单击事件。

我尝试了以下方法:

$("#iFaceTbl tr").on('click', 'td.delInt', function(event) {
        console.log("Clicked.");
        let intId = event.target.id;
        console.log("ID was: " + intId);
    });

Wehre delInt 是每行单元格上的一个类。

当我运行它并观察控制台时,根本没有检测到点击事件。

我确定我做错了什么。作为参考,这里是构成表格的 html 和 javascript。

<table id="iFaceTbl"></table>

for (i=0; i < iFaces_count; i++) {
    let html_to_insert = '<tr><td>' + intArray[i] + '</td><td id="' + intArray[i] +'" class="delInt"><i class="fa fa-trash delInt" aria-hidden="true"></span></td></tr>';
    Currenthtml = Currenthtml + html_to_insert;

    if (i == iFaces_count-1) {
        iFaceTbl.innerHTML = Currenthtml;
    }
}

非常感谢任何帮助。

【问题讨论】:

  • 在构建 html_to_insert 时,您不会将 delInt 类添加到表格单元格中
  • @Gerard 我在 上将它设置为 部分中的一个类。它是否需要在 本身上。?
  • 您将其添加到&lt;i&gt; 标签,而不是&lt;td&gt;
  • 是的,看到了。我移动了它,编辑了上面的帖子。仍然没有检测到点击。

标签: javascript jquery dynamic html-table


【解决方案1】:

能够通过此处显示的对事件触发器的更改来解决我的问题。我不得不删除图标部分以支持“X”。代码现在看起来像这样:

$(document).on('click', '#iFaceTbl td', function(event) {
    console.log("Clicked.");
    let intId = event.target.id;
    console.log("ID was: " + intId);
});

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签