javascript - 如何使html表格中的一行可点击

标签 javascript jquery html-table

我有这个在 html 中创建表格的 Javascript 函数。这正是我想要的。

var thead = '<table><thead><tr><td>#</td><td>Name</td><td>Id</td></tr></thead><tbody>\n';
for(var i=0; i<dataArray.length; i++)
{
    tbody += '<tr class="row">';
    tbody += '<td>' + (i+1) + '</td>';
    tbody += '<td>' + dataArray[i].Device_Name + '</td>';
    tbody += '<td>' + dataArray[i].Device_Id + '</td>';         
    tbody += '</tr>\n';     
}
var tfooter = '</tbody></table>';
document.getElementById('dataTableDiv').innerHTML = thead + tbody + tfooter;

现在我想在每次单击特定行时运行一些代码。现在只要代码正在执行,点击哪一行都没有关系。这是应该处理行点击的代码。所有其他点击操作在 $(document).ready(function(){}); 中完美运行,但由于某种原因,该表的点击处理程序不起作用。

$(document).ready(function()
{
    $(".row").click(function() 
    {
        console.log("Blablabla")
    });
});

我做错了什么?

最佳答案

因为您是从 Jquery 动态生成 HTML,所以请尝试事件委托(delegate),如下所示:-

$(document).on('click','.row',function(){
    // Your Code...
});

$(document.body).on('click','.row',function(){
    // Your Code...
});

或者(在回答中添加Jai 的 有用的评论)

$('#dataTableDiv').on('click','.row',function(){
    // Your Code...
});

关于javascript - 如何使html表格中的一行可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27292697/

相关文章:

javascript数组不工作

css - 编辑时不调整大小的可编辑 HTML 表格单元格

html - 如何正确地将表格置于其 div 容器中?

javascript - 如何在 IE 中使用 AWS JavaScript Promise?

javascript - 生成的 hashid 大小

JavaScript 正则表达式 "ends with"与 "does not end with"

html - Firefox 中奇怪的表格呈现

javascript - 在 Javascript 中替换/附加 HREF 文件类型扩展名

java - Spring Rest 和 Jsonp

jquery - 有效与验证