我有一个用于动态创建行项目的脚本。我的问题是创建最后一个单元格项目,一个按钮。我尝试过使用onclick,setAttribute和attachEvent。但是创建按钮或在addGarageRow()函数中启动onclick事件,该函数创建按钮而不是创建按钮本身的onclick事件
function addGarageRow(tableID)
{
var table=document.getElementById(tableID);
rownum = rownum + 1;
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var cell1=row.insertCell(0);
var element1=document.createElement("input");
element1.type="checkbox";
element1.name="chk[]";
cell1.appendChild(element1);
var cell2=row.insertCell(1);
var element2=document.createElement("input");
element2.type="text";
element2.id=rownum;
element2.name="garage_for[]";
cell2.appendChild(element2);
var cell3=row.insertCell(2);
var element3=document.createElement("input");
element3.type="text";
element3.id="amount"+rownum;
element3.name="garage_amount[]";
cell3.appendChild(element3);
var cell4=row.insertCell(3);
var element4=document.createElement("input");
element4.setAttribute("type", "button");
element4.id=rownum;
//element4.name="voucher";
//element4.onclick = alert("test");
//element4.setAttribute("onClick", alert("test");
//element4.attachEvent('OnClick',Hi());
cell4.appendChild(element4);
}
答案 0 :(得分:3)
处理程序应该包含在一个函数中。即:
element4.onclick = function(){
alert("test");
}
答案 1 :(得分:2)
当onclick
块内function
事件触发时,您必须包装要执行的函数。请在此处查看:http://jsfiddle.net/qbhfdkq3/