我在试图弄清楚为什么我动态添加的 onclick 事件没有做任何事情时遇到了问题。我已经搜索了很多网站,但我尝试过的都没有。了解自己这可能是某种愚蠢的错误,但我真的很想知道我做错了什么。这是我的代码的一部分,包括相关功能:
function ChangeNumber(line){ //this is just a test function so far :)
document.getElementById('maincol').innerHTML += line + "<br/>"; //just adds "something to the end of a div"
}
function ChangeSize()
{
var rows, cols;
rows = document.getElementById('rows').value;
cols = document.getElementById('cols').value;
var tbody = document.getElementById('model');
tbody.innerHTML = "";
for (var i = 0; i < rows; i++){
var tr = document.createElement('tr');
for (var j = 0; j < cols; j++){
var td = document.createElement('td');
td.setAttribute('name', (i * cols) + (j + 1));
td.onclick = function() {ChangeNumber('something'); };
td.innerHTML = "0";
tr.appendChild(td);
}
tbody.appendChild(tr);
}
}
表的创建工作正常,从静态创建的 onclick 调用函数也是如此,ChangeNumber()
但是当我单击动态创建的 td 时没有任何反应。有人可以向我澄清这个问题吗?