Javascript-将点击事件添加到动态生成的表格单元格

标签 javascript jquery html css

addEventListener() 不工作?

var mytable = document.getElementById('GridTable');

for (var r = 0; r <rows; r++) 
{
    var row = mytable.insertRow(r);
    for (var c = 0; c <cols; c++)
    {

        var cell=row.insertCell(c);
        cell.id='td'+nn;
        //alert(cell.id);
        cell.innerHTML='&nbsp';
        cell.className="dynamic";
        cell.addEventListener("click", function() {bcolor1('red',cell.id);});
        nn++;
    }

}

最佳答案

您需要使用事件委托(delegate)来实现这一点。

使用Javascript,你可以这样做:

document.querySelector('element').addEventListener('click', function(event) {      
    // on click action here..
});

使用jQuery,你可以这样做:

$(document).on("click", "element", function(){
  // on click action here..
});

了解更多:Understanding Event Delegation | jQuery

关于Javascript-将点击事件添加到动态生成的表格单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28106778/

相关文章:

javascript - 如何检测 Angular 2 中的 URL 变化?

javascript - 单击以在多个位置的多个 html 文件上显示电话号码

php - jQuery ajax 验证验证码

javascript - 使用 Visual Composer (WordPress) 创建粘性侧边栏

javascript - 如何使用 JQuery 将动态创建的表中的值传递到新的数据库查询中?

javascript - React 添加一个变量名属性

php - 在干净的字符串函数之间添加空格

javascript - 如何根据同一页面上的文本/脚本更改 div 或表格的背景

与外部 CSS 的 HTML 链接无效

html - HTML 中的 SVG - 根据页面宽度调整路径大小