我在將onclick事件附加到動態表格行時遇到問題。Javascript爲動態表格行創建onclick事件
什麼我是在這裏:
function parseOrderLine(data) {
var obj = JSON.parse(data);
if (obj.length > 0) {
var tbl = document.createElement('table');
var row = tbl.insertRow(0);
var cell = row.insertCell(0);
cell.innerHTML = "Code";
cell = row.insertCell(1);
cell.innerHTML = "Size";
cell = row.insertCell(2);
cell.innerHTML = "Description";
cell = row.insertCell(3);
cell.innerHTML = "Type";
cell = row.insertCell(4);
cell.innerHTML = "Price";
cell.style.textAlign = "right";
for (var i = 0; i < obj.length; i++) {
row = tbl.insertRow(i + 1);
row.className = "results_row";
cell = row.insertCell(0);
cell.innerHTML = obj[i].Code;
cell = row.insertCell(1);
cell.innerHTML = obj[i].Size;
cell = row.insertCell(2);
cell.innerHTML = obj[i].Description;
cell = row.insertCell(3);
cell.innerHTML = obj[i].Type;
cell = row.insertCell(4);
cell.innerHTML = parseFloat(obj[i].Price).toFixed(2);
cell.style.textAlign = "right";
//row.addEventListener("click", function(){ alert('listen'); });
row.onclick = (function(){ alert('click'); });
}
return tbl.outerHTML;
}
else { ...
正如你可以看到我曾經嘗試都設置了onclick事件,並添加監聽。這兩者似乎都不起作用。
我希望有人能告訴我我只是瘋了,忽略了一些明顯的東西。 ; 0)
任何幫助讚賞球員。
感謝您的閱讀。
雅
這可能是一些與你返回outerHTML而不是元素。我懷疑,將該表追加到該函數中的頁面也可以工作。 – Matt 2014-11-06 11:01:31
謝謝,確實如此。現在修復。 @Luizgrs在 – Jason 2014-11-06 12:10:48